gpt4 book ai didi

php Xpath 获取带有 innerHTML 标签的 innerHTML

转载 作者:行者123 更新时间:2023-11-28 02:11:49 28 4
gpt4 key购买 nike

我有一个格式如下的 HTML 文件:

<p class="p1">subject</p>
<p class="p2">detail <span>important</span></p>

<p class="p1">subject</p>
<p class="p2">detail<span>important</span></p>

我写了一个 PHP 代码来自动获取每个 p1 并将它们插入到我的 mysql 表中的详细信息。

这是我的代码:

$doc = new DOMDocument();

$doc->loadHTMLFile("file.html");

$xpath = new DomXpath($doc);

$subject = $xpath->query('//p');


for ($i = 0 ; $i < $subject->length-1 ; $i ++) {

if ($subject->item($i)->getAttribute("class") == "p1")
echo $subject->item($i)->nodeValue;
}
...

这不是我的完整代码,但问题是:

echo $subject->item($i)->nodeValue;

这给了我 <p>detail important</p> , 没有 <span></span>标签。

在细节的“重要”部分周围放置 span 标签非常重要。有什么功能可以做到这一点而不会头疼吗?

提前致谢

最佳答案

我找到了问题的答案 :) 感谢 SimpleHTMLDOM

foreach($html->find('p') as $element) {

switch ($element->class) {
case 'p1':
$subject = $element;
break;
case 'p2': $detail .= html_entity_decode($element);

}

诀窍在于:

html_entity_decode($element);

关于php Xpath 获取带有 innerHTML 标签的 innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861320/

28 4 0