用preg_replace从字符串中间突出显示一个子字符串


Highlight a sub string from middle of the string with preg_replace

我想把数字字符串的中间部分加粗。

我有一个数字字符串:

$nmbr="55113741659856";

我想突出显示中间的4个数字,从的第6个位置开始

......7416......

并将其替换为粗体字母

<b>7416</b>

我的当前代码无法完成我想要的

 $nmbr="55113741659856";
 preg_replace("/d+([0-9]{4,6})/i","<b>$1</b>",$nmbr);

非常感谢您的帮助。

谢谢。

我想突出显示中间的4个数字,从的第6个位置开始

我会做:

$nmbr="55113741659856";
preg_replace("/^('d{5})('d{4})/","$1<b>$2</b>",$nmbr);

您忘记添加'd+

preg_replace("/'d+([0-9]{4,6})/i","<b>$1</b>",$nmbr);

原因是:

'd     Find a digit

你错过了这里的'