PHP:在href='';标签

PHP:在href='';标签,php,regex,Php,Regex,可能重复: 我有一个文本文件,其中多次出现href标记 我希望获得这些href='…'的内容并将其打印到屏幕上 href='...' 我怎样才能做到这一点?主要问题是编写正确的正则表达式。preg_match_all(“| |,$file_content,$matches); preg_match_all('|<a href="(.+)">|', $file_content, $matches); print_r($matches); 打印(匹配项); 未经测试,但应能正常工作

可能重复:

我有一个文本文件,其中多次出现href标记

我希望获得这些href='…'的内容并将其打印到屏幕上

href='...' 我怎样才能做到这一点?主要问题是编写正确的正则表达式。

preg_match_all(“| |,$file_content,$matches);
preg_match_all('|<a href="(.+)">|', $file_content, $matches);
print_r($matches);
打印(匹配项);
未经测试,但应能正常工作

$pageData = file_get_contents('your.txt');
if(preg_match_all('/<a\s+href=["\']([^"\']+)["\']/i', $pageData, $links, PREG_PATTERN_ORDER))
    $all_hrefs = array_unique($links[1]);

对不起,我刚刚注意到有一个相同的问题:它只是没有结束,不是吗?解析html我已经投票决定结束我自己的问题:)@EliasVanOotegem在给定html文件中获取HREF并不是真正的“解析html”,如果你知道html将是什么样子(例如一个简单的链接列表),使用正则表达式可能比使用一个完整的解析器更好。@Cygal:在极少数情况下,你可能是对的,但是regex只会让您走到这一步,解析字符串对于引号检查和不区分大小写来说是非常可靠的+1
foreach($all_href as $href)
{
echo $href;
}