php 正则匹配URL的问题

achuanok 2008-12-15 11:02:32
我想把文本中的所有URl地址都过滤掉
<?php
function test($text)
{
echo preg_replace('(http://|ftp://|www\.?|)(([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?){0,1}','',$text);
}
test('dfsafdhttp://www.sina.com/aa.phpdsgfdsgfds www.qq.com fdsfsd http://www.qq.com.cn/htmlgfdsf天于qq.com');
?>
运行报这个错
Warning: preg_replace() [function.preg-replace]: Unknown modifier '(' in D:\PHPnow\htdocs\test.php on line 4
我用正则工具匹配也没问题
高手帮帮忙
先谢了
...全文
1396 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
achuanok 2008-12-15
  • 打赏
  • 举报
回复
我就是想把文本中的所有链接给过滤掉
帮帮忙了
写的正则在工具里都能匹配
就是放到php方法里就不行了
不晓得是怎么回事
hqaht 2008-12-15
  • 打赏
  • 举报
回复
楼主还是要说一下你要做什么吧 ,就你给的目前的这个字符串,估计是很难做处理,基本上可以说不能实现
<?php 
$str = 'dfsafdhttp://www.sina.com/aa.phpdsgfdsgfds www.qq.com fdsfsd http://www.qq.com.cn/htmlgfdsf天于qq.com';
function test($text){
echo preg_replace('(http://|ftp://|www\.?|)(([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?){0,1}','',$text);
}
test($str);
?>
achuanok 2008-12-15
  • 打赏
  • 举报
回复
感谢
可以了
cgisir 2008-12-15
  • 打赏
  • 举报
回复
有开始条件没有结束条件
newbieeee 2008-12-15
  • 打赏
  • 举报
回复
php里正则要用//包含,里面出现/全部需要转义。试试
<?php 
function test($text)
{
echo preg_replace('/(http:\/\/|ftp:\/\/|www\.?|)(([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?){0,1}/','',$text);
}
test('dfsafdhttp://www.sina.com/aa.phpdsgfdsgfds www.qq.com fdsfsd http://www.qq.com.cn/htmlgfdsf天于qq.com');
?>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧