例如源 代码:
-------------------------------------------------
AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGG
-----------------------------------------------------------
替换成
-----------------------------
AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGG
------------------------
需求:将非AAA.com域名下的链接全部替换成“#”井号
以下代码可以替换所有链接为井号,但是不能分辨是否为AAA.COM
echo preg_replace("/(?<=href=)([^\>]*)(?=\>)/i","javascript:;", "你好,点这里看看你好,点这里看看");
求正则大神帮忙哈 很着急 一上午没弄出来
回复讨论(解决方案)
$str = <<
替换成这样滴 谢谢哈
AAAAABBBBCCCCCDDDDDEEEEEFFFFFGGGGG
echo preg_replace_callback("/([^<]+)<\/a>/is",function($r) { return strip_tags($r[0]); },$str);感谢microlab2009
但是在应用中我测试了一下发现几个问题
1:将非本站链接替换成井号,但是非链接也给替换了哦!
例如:和www.163.com(字符串非链接)全部都给替换成#井号了
2:删除链接
BBBBB
和
BBBBB
处理上出现错误,能修改第一个不能修改第二个。
望大神帮帮忙哈,无限的感谢已涌向心口........1. $str = <<
AAAAA
BBBBB
CCCCC
DDDDD
EEEEE
FFFFF
GGGGG
http://234r.231.com
str;
echo preg_replace_callback("/ (?<=href\=\")http\:\/\/[^.]*[^A]+\.com\//is",function($r) { return str_replace($r[0], "#", $r[0]); },$str);
?>
2.echo preg_replace_callback("/]*>([^<]+)<\/a>/is",function($r) { return strip_tags($r[0]); },$str);
都只是改改正则就可以了 还是得自己去先把正则熟悉熟悉感谢大神的帮助 万分感谢哈~~~