提问人: 提问时间:6/11/2022 更新时间:6/11/2022 访问量:94
在我的情况下,如何在PHP中成功修改CSS类文档的DOM?
How to successfully modify in PHP the DOM of the Document of a CSS class in my case?
问:
我正在尝试修改(替换)标签的CSS类的属性(在下面的绿色屏幕截图中框内),我已经很好地检查了该属性,并尝试将其属性替换(即用新的
CSS类替换标签
的href
属性):DomDocument
new
a
function stripos
href
str_ireplace
我的以下PHP代码看起来正确,但根本不起作用:
libxml_use_internal_errors(true);
$parser = new DOMDocument();
$parser->loadHTMLFile("https://fr.wikipedia.org/wiki/Alibaba_Group");
$get_a_tags = $parser->getElementsByTagName("a");
foreach ($get_a_tags as $get_a_tag) {
if (stripos($get_a_tag->getAttribute('class'), "new") !== false) {
$get_href_in_a_infobox = $get_a_tag->getAttribute('href');
$term = $get_a_tag->nodeValue;
$urlSearch = BASE_PATH."search.php?term=$term&type=sites";
// var_dump($urlSearch."<br><br>");
$wikipediaInfoboxTable = str_ireplace($get_href_in_a_infobox, $urlSearch, $wikipediaInfoboxTable);
}
}
那么,如何成功地将具有CSS类的所有标签的属性值替换为变量的值,该变量知道包含我想在其中进行替换???的信息框的整个表href
a
new
$urlSearch
$wikipediaInfoboxTable
谢谢你,请帮帮我。
答:
0赞
cOle2
6/11/2022
#1
由于您正在使用,因此可以尝试使用该方法来更改值:DomDocument
setAttribute
href
foreach ($get_a_tags as $get_a_tag) {
//...
$get_a_tag->setAttribute('href', $urlSearch);
}
$newHtml = $parser->saveHTML();
评论
$wikipediaInfoboxTable
$wikipediaInfoboxTable
是一个字符串,对吧?如果它是 PHP DOMElement,它将无法工作。