首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP Preg_replace:无法使替换部件工作,查找正常

PHP Preg_replace:无法使替换部件工作,查找正常
EN

Stack Overflow用户
提问于 2011-08-05 03:36:13
回答 2查看 151关注 0票数 0

我不知道该怎么做:

找到'/\s[2-9]\)/'的所有实例,并将空格替换为<br />标记。

像这样简单的东西是行不通的:

代码语言:javascript
复制
$preg_num = ' /\s[2-9]\)/';
$preg_fix = "'/<br>/[2-9]\)'";
preg_replace($preg_num,$preg_fix,$notes);

我需要将$preg_fix变量更改为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-05 03:41:04

使用前视比反向引用更简单,IMHO。

代码语言:javascript
复制
$preg_num = '/\s(?=[2-9]\))/';
$preg_fix = '<br/>';
preg_replace($preg_num,$preg_fix,$notes);

这样,您只需将空间替换为<br/>

票数 3
EN

Stack Overflow用户

发布于 2011-08-05 03:38:38

替换字符串不会被视为正则表达式-它更像是文字字符串。如果您试图将原始正则表达式中匹配的任何数字[2-9]放入替换字符串中,请将该字符作为一组捕获并使用反向引用。

代码语言:javascript
复制
$preg_num = '/\s([2-9])\)/';
$preg_fix = "<br />$1)'";
preg_replace($preg_num,$preg_fix,$notes);

有关详细信息,请参阅:

  • preg_replace's replacement parameter documentation
  • Regular表达式分组:"Use Round Brackets for Grouping"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6947533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档