比如 这个字符串
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都无视。
请问正则该怎么写?
解决方案 »
- PHP将查询数据导出到excel表的问题,请赐教!谢谢!
- php文件怎么编辑?(初学者)
- 网站购物车的SESSION是否要有缓存?
- 没用过PHP,但是任务在身,求教一段PHp & html 代码 是否有问题
- firefox中window.login.loginname.focus()无法正常执行
- 求教一个关于PHP站点调试的问题
- 大家帮我想想PHP数组把2个数组相加之后怎么不让他改变key的顺序..谢谢了~
- IIS配置php,win2000中的问题,急
- 奇怪的问题,linux下mkdir()生成的目录owner和getmyuid的值怎么不一样?
- 有关PHP的几个问题。
- 怎么样用函数require php文件不改变全局变量环境?
- -_-! php里的变量范围问题
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];