去除网址的正则式问题(急!!!!) 想把如 www.smallnovel.com 去掉应该怎么写正则?? 中间任意字符可能是大写的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么没人啊答啊?是因为难?还是以为AD啊?? 那换这个好了www.1234567890abcdefghijkln.com 这应该不是AD了吧,急啊,怎么写正则啊? $str=preg_replace("/www\.smallnovel\.com/i",'',$str); 如你那样写的网址可以不用正则,简单一点.$urls = array("www.smallnovel.com", "网址2", "网址3");$url = str_replace($urls, "", $url);url是你要操作的URL不过,我想在一个网站中应该还包含http之类的吧。可以这样子写:$pattern = "/^https?:\/\/[a-z0-9_-]+(\.[a-z0-9_-]+)+/i";$url = preg_replace($pattern, "", $url); leconcq 老大啊,我只是拿这个网址打个比如,您下面那个http应该有点用,自己先试下先,谢谢了啊! 还有什么问题,不如你贴部分内容过来,供大家参考参考。还是没有解决问题啊!有点搞不明白,你具体要做什么。是可以去掉内容中的href还是要去掉站点的域名部分。 这个就是正解:preg_replace("/www\.smallnovel\.com/i",'',$str); echo preg_replace("/[\d\w-\.]+\.[\w]+/i",'{屏蔽网址}',"前言www.smAallnovel.com.cn后语"); 按你说的,只要有三段字符串之间夹杂两个.就算网址,"你好啊.你好啊.你好啊"这都会算做一个网址被屏蔽,你说怎么处理???所以必须要给网址定义一个特征,以http://开头的,可以把它当作网址,但什么时候结束呢?可以以空格,制表符,逗号,句号来判定其结束。$str = '欢迎大家光临我的小站http://www.xxx.com/ 请大家来我的小站看看啊';echo preg_replace('/http:\/\/[^\s,,。]*/is','',$str);上面代码基本可以满足要求,但如果人家网址后面不加空格,逗号,句号之类的"欢迎大家光临我的小站http://www.xxx.com/请大家来我的小站看看啊".就会被替换成"欢迎大家光临我的小站",网址后面的所有字符都会消失。所以还是不行,因此还是屏蔽几个你规定好的网址,这样比较靠谱。 谢谢了!基本综合一下上面几位老大的意思把问题差不多解决!就像shadowsniper说的,麻烦啊! 《PHP5权威编程》中单件模式有错误? 安装php程序的问题,高手在那里 网页调用显示的问题? [急]谁有PHP无限分类的完整代码? 请教高手:smarty的问题 关于用户注册后实现EMAIL自动回复功能的问题! thinkphp的一个小问题 怎么样查找同一姓名的数据? 关于递归无限分类的问题。 使用jquery调用c#方法,前台展示数据的时候,并不是一次性展示,而是一块一块的展示 求助,我的php不能显示错误信息 discuz 和 ucenter 的用户密码
$urls = array("www.smallnovel.com", "网址2", "网址3");
$url = str_replace($urls, "", $url);
url是你要操作的URL
不过,我想在一个网站中应该还包含http之类的吧。可以这样子写:
$pattern = "/^https?:\/\/[a-z0-9_-]+(\.[a-z0-9_-]+)+/i";
$url = preg_replace($pattern, "", $url);
$str = '欢迎大家光临我的小站http://www.xxx.com/ 请大家来我的小站看看啊';
echo preg_replace('/http:\/\/[^\s,,。]*/is','',$str);上面代码基本可以满足要求,但如果人家网址后面不加空格,逗号,句号之类的"欢迎大家光临我的小站http://www.xxx.com/请大家来我的小站看看啊".就会被替换成"欢迎大家光临我的小站",网址后面的所有字符都会消失。所以还是不行,因此还是屏蔽几个你规定好的网址,这样比较靠谱。