我有一个 PHP 片段,它替换了左边所有不是 Unicode 字母的字符。它工作正常,有一个例外,我不知道为什么。任何人都可以帮忙吗?
<?php
$B=$A;
do{
$A=$B;
$B=preg_replace('/^[^\pL\s]/','',$B);
}
while($B!=$A);
echo $B;
?>
如果我用一根类似的绳子喂它,它"\\*^&\\\@@\816.80831téstmé"
就会很好地吐出来"téstmé"
。
$A="*^&\\\@@\816.80831[+"
给出一个空字符串,也是正确的。
但是,当我输入 时"\\*^&\\\@@\816.80831"
,我最终得到"831"
,而实际上它应该是一个空字符串。
"^&\\\@@\8016.8048.31"
给出"48.31"
"^&\\\@@\8016.8148.31"
了一个空字符串正确地
"^&\\\@@\8016.8148067"
给出"16.8148067"
"^&\\\@@\8116.8148167"
了再次是空的
它似乎与零和点有关,但我找不到模式也找不到解决方案。我尝试添加 strval,但结果仍然相同。也许有人有答案?谢谢。