Php 使用pre_mattch_all提取SEO URL

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

我有一些页面包含指向其他页面的链接。如何提取以特定名称开头的所有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\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';