我有一个包含 URL 和其他文本的字符串。我想将所有 URL 放入$matches
数组中。但是以下代码不会将所有 URL 放入$matches
数组中:
$matches = array();
$text = "words cotry.lk and newe.com joemiller.us schoollife.edu hello.net some random news.yahoo.com text http://tinyurl.com/9uxdwc some http://google.com random text http://tinyurl.com/787988 and others will en.wikipedia.org/wiki/Country_music URL";
preg_match_all('$\b[-A-Z0-9+&@#/%?=~_|!:,.;][.]*[-A-Z0-9+&@#/%=~_|(https?|ftp|file)://-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%?=~_|!:,.;]{8,50}$i', $text, $matches);
print_r($matches);
上面的代码不会向我显示以下 URL:
cotry.lk
newe.com
你能举个例子告诉我,我怎样才能修改上面的代码来获取所有的 URL。
请注意,并非所有 URL 都包含 herf,并且此字符串不是从 html 文件中获取的。