【发布时间】:2018-01-16 09:38:50
【问题描述】:
我正在尝试从一段字符串中提取 URL 我有不同的帖子在他们的消息中包含 URL。我已经准备了一个匹配的模式,但它不能正常工作。我问过同样的问题here,但忘了在其中添加这个案例,所以我要问一个新问题。
尝试过的模式
\b(\.?)(?:https?://)?(?:(?i:[a-z]+\.)+)[^\s,]+\b
代码
for ( $i = 0; $i < $resultcount; $i ++ ) {
$pattern = '%\b(\.?)(?:https?://)?(?:(?i:[a-z]+\.)+)[^\s,]+\b%';
$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"
对于多个 URL,Post 可能有逗号,也可能没有逗号,而且字符串和 url 之间可能没有任何空格,例如
sometext.http://google.com
谢谢大家:)
【问题讨论】: