我正在使用preg_match_all
方法从页面的定位标记内部获取网址。它可以工作,但是当我得到它们时,在将它们添加到数组之前,我想用'
(例如'url'
)将它们包装起来:
preg_match_all('!<a href="(.*?)">!', $anchors, $urls);
有没有办法做到这一点?如果是,您能指出我正确的方向和正确的方法吗?
谢谢! :D
答案 0 :(得分:2)
您可以使用regex to parse html和DOMDocument来代替getElementsByTagName
$dom = new DOMDocument;
$dom->loadHTMLFile("yourfile.html");
$anchors= $dom->getElementsByTagName("a");
$hrefs = [];
foreach ($anchors as $anchor) {
if ($anchor->hasAttribute("href")) {
$hrefs[] = "'{$anchor->getAttribute('href')}'";
}
}