给定链接
$link="<a href='test.php'>test</a>";
如何使用php分隔href和锚文本。
答案 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。