想把如 www.smallnovel.com 去掉应该怎么写正则?? 中间任意字符可能是大写的

解决方案 »

  1.   

    怎么没人啊答啊?是因为难?还是以为AD啊??  那换这个好了www.1234567890abcdefghijkln.com 这应该不是AD了吧,急啊,怎么写正则啊?
      

  2.   

    $str=preg_replace("/www\.smallnovel\.com/i",'',$str);
      

  3.   

    如你那样写的网址可以不用正则,简单一点.
    $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);
      

  4.   

    leconcq 老大啊,我只是拿这个网址打个比如,您下面那个http应该有点用,自己先试下先,谢谢了啊!
      

  5.   

    还有什么问题,不如你贴部分内容过来,供大家参考参考。还是没有解决问题啊!有点搞不明白,你具体要做什么。是可以去掉内容中的href还是要去掉站点的域名部分。
      

  6.   

    这个就是正解:preg_replace("/www\.smallnovel\.com/i",'',$str);
      

  7.   

    echo preg_replace("/[\d\w-\.]+\.[\w]+/i",'{屏蔽网址}',"前言www.smAallnovel.com.cn后语");
      

  8.   

    按你说的,只要有三段字符串之间夹杂两个.就算网址,"你好啊.你好啊.你好啊"这都会算做一个网址被屏蔽,你说怎么处理???所以必须要给网址定义一个特征,以http://开头的,可以把它当作网址,但什么时候结束呢?可以以空格,制表符,逗号,句号来判定其结束。
    $str = '欢迎大家光临我的小站http://www.xxx.com/ 请大家来我的小站看看啊';
    echo preg_replace('/http:\/\/[^\s,,。]*/is','',$str);上面代码基本可以满足要求,但如果人家网址后面不加空格,逗号,句号之类的"欢迎大家光临我的小站http://www.xxx.com/请大家来我的小站看看啊".就会被替换成"欢迎大家光临我的小站",网址后面的所有字符都会消失。所以还是不行,因此还是屏蔽几个你规定好的网址,这样比较靠谱。
      

  9.   

    谢谢了!基本综合一下上面几位老大的意思把问题差不多解决!就像shadowsniper说的,麻烦啊!