php regex删除除http urls之外的所有内容

时间:2012-12-01 08:30:02

标签: php regex url

如何从代码中删除除完整http url之外的所有内容? 正则表达式只有正则表达式吗?如果是这样,可能有人可以给我任何例子

1 个答案:

答案 0 :(得分:4)

将从字符串中提取单个URL:

$string = 'some random text then url http://www.example.com/ and more text';

preg_match('!https?://[\w+&@#/%?=~|\!\:,.;-]*[\w+&@#/%=~|-]!', $string, $match);

echo $match[0];

将从字符串中提取多个URL到数组:

$string = 'put some text http://stackoverflow.com/something/something.php some random text then url http://www.example.com/ and more text';

preg_match_all('!https?://[\w+&@#/%?=~|\!\:,.;-]*[\w+&@#/%=~|-]!', $string, $match);

print_r($match[0]);

因此,基本上“删除”除了URL之外的所有内容,您需要将字符串设置为匹配值:

$string = $match[0];