我不知道怎么做:
查找'/'s[2-9]')/'
的所有实例并用<br />
标记替换空格。
像这样简单的东西不起作用:
$preg_num = ' /'s[2-9]')/';
$preg_fix = "'/<br>/[2-9]')'";
preg_replace($preg_num,$preg_fix,$notes);
我需要将$preg_fix变量更改为什么?
使用forward比使用backreference简单,IMHO.
$preg_num = '/'s(?=[2-9]'))/';
$preg_fix = '<br/>';
preg_replace($preg_num,$preg_fix,$notes);
这样,您只需将空格替换为<br/>
。
替换字符串不被视为正则表达式-它更像是一个字面值字符串。如果您试图将在原始正则表达式中匹配的任何数字[2-9]
放入替换字符串中,请将该字符作为一个组捕获并使用反向引用。
$preg_num = '/'s([2-9])')/';
$preg_fix = "<br />$1)'";
preg_replace($preg_num,$preg_fix,$notes);
查看更多信息:
-
preg_replace
的replacement
参数文件 - 正则表达式分组:"Use Round括号for grouping "