1

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

4

1 回答 1

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];
于 2012-12-01T08:37:24.517 回答