作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试使用正则表达式仅删除字符串的匹配部分。我正在使用 preg_replace
函数,并尝试通过在匹配部分周围放置括号来删除匹配的文本。示例:
preg_replace('/text1(text2)text3/is','',$html);
不过,这会将整个字符串替换为 ''。我只想删除 text2,但保持 text1 和 text3 不变。如何仅匹配和替换匹配的字符串部分?
最佳答案
使用 backreferences (即括号)仅保留您想要记住的表达式部分。您可以使用 $1
、$2
等调用替换字符串中的内容:
preg_replace('/(text1)text2(text3)/is','$1$2',$html);
关于php - preg_replace 如何仅替换选择器内匹配的 xxx($1)yyy 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4898192/
我是一名优秀的程序员,十分优秀!