Php 使用pre_mattch_all提取SEO URL
我有一些页面包含指向其他页面的链接。如何提取以特定名称开头的所有href 喜欢我的页面作为标签吗Php 使用pre_mattch_all提取SEO URL,php,preg-match-all,Php,Preg Match All,我有一些页面包含指向其他页面的链接。如何提取以特定名称开头的所有href 喜欢我的页面作为标签吗 <a href="shows/film/lop-film/">Some Text</a> <a href="movie/current/lop-film/">Some Text</a> <a href="rot.company.com/sow/test/page/asd.mov"></a> $search = '/<a
<a href="shows/film/lop-film/">Some Text</a>
<a href="movie/current/lop-film/">Some Text</a>
<a href="rot.company.com/sow/test/page/asd.mov"></a>
$search = '/<a\s+(?:[^"\'>]+|"[^"]*"|\'[^\']*\')*href=("[^"]+"|\'[^\']+\'|[^<>\s]+)/i'
preg_match_all($search, $Content, $matches);
foreach ($matches[1] as $value) {
print_r('Links :'.$value);
}
我主要想过滤以show | movie | domain.name开头的匹配项将您的正则表达式模式更改为
$search = '/<a\s+(?:[^"\'>]+|"[^"]*"|\'[^\']*\')*href=("(show|movie|domain\.name)[^"]+"|\'(show|movie|domain\.name)[^\']+\'|(show|movie|domain\.name)[^<>\s]+)/i';
$search='/而不是regex
$search = '/<a\s+(?:[^"\'>]+|"[^"]*"|\'[^\']*\')*href=("(show|movie|domain\.name)[^"]+"|\'(show|movie|domain\.name)[^\']+\'|(show|movie|domain\.name)[^<>\s]+)/i';