【发布时间】:2018-06-20 11:17:51
【问题描述】:
我正在尝试从一段字符串中提取 URL 我有不同的帖子在他们的消息中包含 URL。我已经准备了一个匹配的模式,但它不能正常工作。
尝试过正则表达式
$pattern1= '%\b((https?://)|(www\.)|(^[\D]+\.))[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))%';
$pattern2= '%\b^((https?://)|(www\.)|(^[a-z]+\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%';
代码
for ( $i = 0; $i < $resultcount; $i ++ ) {
$pattern = '%\b^((https?://)|(www\.)|(^[a-z]+\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%';
$message = (string)$result[$i]['message'];
preg_match_all($pattern,$message,$match);
print_r($match);
}
这样的帖子示例
"这只是一个测试正则表达式提取 URL 的帖子 http://google.com, https://www.youtube.com/watch?v=dlw32af https://instagram.com/oscar/en.wikipedia.org"
多个网址的帖子可能有逗号,也可能没有逗号
谢谢大家:)
【问题讨论】: