如何从<a> tag using php</a>中提取href

时间:2011-09-16 11:41:48

标签: php html

  

可能重复:
  Grabbing the href attribute of an A element

给定链接

$link="<a href='test.php'>test</a>";

如何使用php分隔href和锚文本。

3 个答案:

答案 0 :(得分:2)

<?php
$link="<a href='test.php'>test</a>";
libxml_use_internal_errors(true);
$dom = new domdocument;
$dom->loadHTML($link);
foreach ($dom->getElementsByTagName("a") as $a) {
    echo $a->textContent, "\n";
    echo $a->getAttribute("href"), "\n";
}

答案 1 :(得分:1)

$link = "<a href='test.php'>test</a>";
preg_match('~<a .*?href=[\'"]+(.*?)[\'"]+.*?>(.*?)</a>~ims', $link, $result);
//result[1] == test.php
//result[2] == test

或更好的一个,如果你想要“测试”

$link = "<a href='test.php'>test</a>";
$result = strip_tags($link);

最终,您可以查看DOMDocument

答案 2 :(得分:0)

你并不是特别关注你要解析的字符串,但是用PHP做一个非常简单的方法是将它解析为你的情况下的格式化字符串(Demo):

$link = "<a href='test.php'>test</a>";

$result = sscanf($link, "<a href='%[^']'>%[^<]</a>", $href, $text);

var_dump($result, $href, $text);

然而,如果链接的格式发生变化,这不是很稳定,所以你最好找一下has been already answered的DomDocument。