我正在使用PHP从外部网站获取内容。
我想知道是否可以从输出中查找和替换字符串,这样我就可以使所有链接都是绝对的。
我需要将“/和'/转换为”$ url /
如果可以这样做,我可以弄清楚如何做其余的事情。我不知道是否可能。
由于
答案 0 :(得分:0)
对于简单的字符串替换,请使用str_replace()
,例如
$html = str_replace(array("'/", '"/'), array("'$url/", '"' . $url . '/'), $html);
如果您正在使用更强大的解决方案,我建议将HTML字符串加载到DOMDocument中,使用href
从/
开始循环遍历所有标记并更改每个标记之前的属性写出HTML。
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$anchors = $xpath->query('//*[starts-with(@href, "/")]');
foreach ($anchors as $anchor) {
$href = $anchor->getAttribute('href');
$anchor->setAttribute('href', $url . $href);
}
$html = $doc->saveHTML();
您可能希望对具有src
属性的标记执行相同的操作。
答案 1 :(得分:-1)
你也可以使用preg_replace(),尽管DOMDocument解析是最强大的。