如果您在具有特殊字符的URL上运行此DOMXPath评估(我意识到从技术上讲不是有效的url,但是某些网站仍然有它们):
$a = '<a href="http://example.org/diseño"></a>';
$path = new DOMXPath( @DOMDocument::loadHTML( $a ) );
$href = $path->evaluate( 'string(//a/@href)' );
var_dump( $href );
// http://example.org/diseño
有没有一种方法可以获取带有“正确” href的字符串-如特殊字符一样?
http://example.org/diseño
还是DOMXPath实际上正常运行,因为URL不能包含特殊字符?如果是这样,从包含特殊字符的字符串中获取href的最干净的选择是什么?
答案 0 :(得分:0)
您可以只编码XPath的返回值...
echo utf8_decode($href);
这给...
http://example.org/diseño