比如 这个字符串
123xxx456<a href="http://www.xxx.com/xxx/asd">xxx</a>xxx789我想用正则替换A标签之外的两个xxx,而A标签内,包括href中的xxx都无视。
请问正则该怎么写?
123xxx456<a href="http://www.xxx.com/xxx/asd">xxx</a>xxx789我想用正则替换A标签之外的两个xxx,而A标签内,包括href中的xxx都无视。
请问正则该怎么写?
preg_replace('/(<\/a>)xxx(\d+)/is', '$1$2', $string);
1. 将<a>标签内部的内容匹配出来放在一个字符串str1中, 同时把<a>标签替换成一个特殊字符str2;
2. 将替换后的字符串里的xxx做全局替换处理得到新的字符串str3;
3. 将str3中的str2替换成str1即可。这不是最简便的方法,但也是一种解决方案哈
嗯 谢谢 这个有想过,还有一种是把$str1中的<a>都换成等长的相同字符,然后查询要替换的内容获取位置来操作原字符串。不过不是我想要的,希望通过正则解决
$results[2][0] 是.../a>后面的
用这个:
preg_match("/(.*)<a\s*href=\".*\">.*<\/a>*(.*)/isu",$str,$results);
echo $results[1]."<br>".$results[2]; $results[1]是前面的
$results[2]是后面的
preg_match("/(.*)<a\s*href=\".*\">.*<\/a>*(.*)/isu",$str,$results);
echo $results[1]."<br>".$results[2];