gpt4 book ai didi

php DOMDocument - 操作和编码

转载 作者:行者123 更新时间:2023-12-03 22:54:40 29 4
gpt4 key购买 nike

$dom = new DOMDocument('1.0', 'UTF-8');
$dom->loadHTML($content);
$divs = $dom->getElementsByTagName("div");
foreach ( $divs as $div ) {
if ( $class = $div->attributes->getNamedItem("class") ) {
if ( $class->nodeValue == "simplegalleryholder" )
$div->parentNode->removeChild( $div );
}
}
$content = $dom->saveHTML();

这个简单的代码应该可以帮助我删除

<div class="simplegalleryholder"> .... </div> 

来自文档。唯一的问题是,$content 包含 utf8 编码的特殊字符(ąęść 等),这些字符会被进程破坏(我得到的是 iÄ™ Å‚ ż)。

我应该如何处理这个问题以获得正确的结果?

最佳答案

在构造函数中指定 UTF-8 不会使底层 xml 处理库将其作为 utf8 处理。以下解决方法确实很老套,但效果相当不错。

$encodingHint = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
$dom->loadHTML($encodingHint . $html);

https://bugs.php.net/bug.php?id=32547

如果您在网络浏览器中查看输出,请发送真正的 http header ,而不是 http-equiv 元标记。这仅供查看。使用 domdocument 处理特别需要元标记。

header('content-type: text/html; charset=utf-8');

关于php DOMDocument - 操作和编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10659164/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com