用PHP中的Regex替换未在HTML元素中包装的字符串

时间:2016-10-02 11:17:33

标签: php regex

我正试图用Regex克服这种转换:

abc <a href="#abc">abc</a> abc

要:

lorem <a href="#abc">abc</a> lorem

我的正则表达式是:

preg_replace('/[^<="\']*.*(abc).*[^>="\']*/i','lorem',$text)

我尝试了很多组合,无法转换。

Regex的处理方式是什么?

2 个答案:

答案 0 :(得分:1)

试试这个:

(.*)(<a(.*?)\/a>)(.*)


group 1: abc
group :2 <a href="#abc">abc</a>
group 3: abc

答案 1 :(得分:0)

我对正则表达式了解不多,但您可以尝试使用php函数

str_replace(find,replace,string,count)

E.g:

echo str_replace("world","Peter","Hello world!");

上面的例子将用peter替换“world”