我正在处理一个需要使用 PHP Simple HTML Dom Parser 的项目,并且我需要一种方法来根据类名向多个元素添加自定义属性。
我可以使用 foreach 循环遍历元素,并且很容易设置标准属性(例如 href),但我找不到添加自定义属性的方法。
我能猜到的最接近的是:
foreach($html -> find(".myelems") as $element) {
$element->myattr="customvalue";
}
但这行不通。
我见过许多关于类似主题的其他问题,但它们都建议使用另一种方法来解析 html(domDocument 等)。就我而言,这不是一个选项,因为我必须使用简单的 HTML DOM 解析器。
你尝试过吗?尝试这个示例(示例:添加数据标签)。
include 'simple_html_dom.php';
$html_string = '
<style>.myelems{color:green}</style>
<div>
<p class="myelems">text inside 1</p>
<p class="myelems">text inside 2</p>
<p class="myelems">text inside 3</p>
<p>simple text 1</p>
<p>simple text 2</p>
</div>
';
$html = str_get_html($html_string);
foreach($html->find('div p[class="myelems"]') as $key => $p_tags) {
$p_tags->{'data-index'} = $key;
}
echo htmlentities($html);
Output:
<style>.myelems{color:green}</style>
<div>
<p class="myelems" data-index="0">text inside 1</p>
<p class="myelems" data-index="1">text inside 2</p>
<p class="myelems" data-index="2">text inside 3</p>
<p>simple text 1</p>
<p>simple text 2</p>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)