preg_replace - $1 returns 捕获组以及其余
preg_replace - $1 returns capture group AND also the rest
如何在 95040
上使用 preg_replace
以便只保留第一个字符?
这是我的尝试,应该像 my online regex 显示的那样工作
但我得到了原来的字符串。
$re = '/(^\d{1})/m';
$str = '9100';
$str = preg_replace($re, '', $str);
echo $str; //returns 9100
我做错了什么?
更新
我注意到下面的代码 returns 9-->100
而不是 9
:
$re = '/(^\d)/';
$str = '9100';
$str = preg_replace($re, '-->', $str);
echo $str; //returns 9-->100
为什么会发生这种情况,我该如何预防?
只需做:-
$str = $str[0];
如果你想要preg_replace()
无论如何:-
<?php
$re = '/(^\d).*/s';
$str = '9100';
$str = preg_replace($re, '', $str);
echo $str;
substr($txt, 0, 1)
这将输出 $txt
字符串第一个字符。
如何在 95040
上使用 preg_replace
以便只保留第一个字符?
这是我的尝试,应该像 my online regex 显示的那样工作
但我得到了原来的字符串。
$re = '/(^\d{1})/m';
$str = '9100';
$str = preg_replace($re, '', $str);
echo $str; //returns 9100
我做错了什么?
更新
我注意到下面的代码 returns 9-->100
而不是 9
:
$re = '/(^\d)/';
$str = '9100';
$str = preg_replace($re, '-->', $str);
echo $str; //returns 9-->100
为什么会发生这种情况,我该如何预防?
只需做:-
$str = $str[0];
如果你想要preg_replace()
无论如何:-
<?php
$re = '/(^\d).*/s';
$str = '9100';
$str = preg_replace($re, '', $str);
echo $str;
substr($txt, 0, 1)
这将输出 $txt
字符串第一个字符。