我可以在需要时与regex相处,但是出于某种原因,我在黑暗中试图弄清楚preg_replace为何切断前导数字或空格。
示例:
$phone = '00 385 1234567';
$sig = 'abcd <span id="phone"></span> efgh';
$text = preg_replace('/(<span[^>]*id="phone".*)(.*?)(<\/span>)/smi', '$1'.$phone.'$3', $sig);
echo $text;
如果有任何数字或空格(或者也可能还有其他符号),结果中的前0个也将丢失,但如果first是字符或符号+及其他,则不是。 有人可以阐明这种行为吗?