去除网址的正则式问题(急!!!!)

shing_2009 2009-08-08 01:47:58
想把如 www.smallnovel.com 去掉应该怎么写正则?? 中间任意字符可能是大写的
...全文
255 点赞 收藏 15
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
shing_2009 2009-08-21
谢谢了!基本综合一下上面几位老大的意思把问题差不多解决!就像shadowsniper说的,麻烦啊!
回复
江南昆虫 2009-08-13
echo preg_replace("/[\d\w-\.]+\.[\w]+/i",'{屏蔽网址}',"前言www.smAallnovel.com.cn后语");
回复
hzbigdog 2009-08-13
这个就是正解:

preg_replace("/www\.smallnovel\.com/i",'',$str);
回复
an9ryfr09 2009-08-13
按你说的,只要有三段字符串之间夹杂两个.就算网址,"你好啊.你好啊.你好啊"这都会算做一个网址被屏蔽,你说怎么处理???

所以必须要给网址定义一个特征,以http://开头的,可以把它当作网址,但什么时候结束呢?可以以空格,制表符,逗号,句号来判定其结束。


$str = '欢迎大家光临我的小站http://www.xxx.com/ 请大家来我的小站看看啊';
echo preg_replace('/http:\/\/[^\s,,。]*/is','',$str);

上面代码基本可以满足要求,但如果人家网址后面不加空格,逗号,句号之类的"欢迎大家光临我的小站http://www.xxx.com/请大家来我的小站看看啊".

就会被替换成"欢迎大家光临我的小站",网址后面的所有字符都会消失。所以还是不行,因此还是屏蔽几个你规定好的网址,这样比较靠谱。
回复
飞扬 2009-08-12
还有什么问题,不如你贴部分内容过来,供大家参考参考。

还是没有解决问题啊!有点搞不明白,你具体要做什么。

是可以去掉内容中的href还是要去掉站点的域名部分。
回复
shing_2009 2009-08-12
还是没有解决问题啊!有谁能帮个忙啊?
回复
shing_2009 2009-08-10
其实也就是把文章中含有链接的内容,去掉的
回复
shing_2009 2009-08-10
leconcq 老大啊,我只是拿这个网址打个比如,您下面那个http应该有点用,自己先试下先,谢谢了啊!
回复
飞扬 2009-08-09
如你那样写的网址可以不用正则,简单一点.
$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);
回复
shing_2009 2009-08-09
就是比如一段内容中间包含有一个别人写的网址,我想直接把这个网址去掉.但是这个网址的内容呢是多变的,可能任一的字符,比如可能是第一个字符,可能第二个....是大写的.我想把这样的一个字符串去掉,应该怎么写正则???
回复
薄荷脑 2009-08-08
$str=preg_replace("/www\.smallnovel\.com/i",'',$str);
回复
zhuhuquan29 2009-08-08
能说的具体点吗想去掉什么???? 你这样问谁愿意分析你的问题
回复
shing_2009 2009-08-08
只要正则即可,
回复
ttm1984 2009-08-08
preg_replace();
回复
shing_2009 2009-08-08
怎么没人啊答啊?是因为难?还是以为AD啊?? 那换这个好了www.1234567890abcdefghijkln.com 这应该不是AD了吧,急啊,怎么写正则啊?
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告