php - 在 PHP 中使用 DOM 对象时出现 UTF8 问题

标签 php dom

我有一些必须处理的UTF8文本+图像数据。

我的整个代码都在一个文件中;这是完整的代码:

<?php
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /></head><body>";

$article_header="აბგდევზთ<img src='some_url/img/15.jpg' alt=''>აბგდევზთ";
echo "1".$article_header."<br>";
$doc = new DOMDocument();
$doc->loadHTML($article_header);
$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {
 if(!$img->getAttribute('class')){
$src = $img->getAttribute('src');
$newSRC = str_replace('/img/', '/mini/', $src);
$img->setAttribute('src', $newSRC);
$img->removeAttribute('width'); 
$img->removeAttribute('height');
$article_header = $doc->saveHTML();
            }
                        }
echo "2".$article_header."<br>";
echo "</body></html>";
?>

如您所见,我回显数据两次。

  • 第一次,正如预期的那样,它同时带来了文本和图像。

  • 第二次,它会按预期显示修改后的图像。但是文本被损坏了,就像这样:áfáf‘áf’áf“áf”áf•áf–áf—

有什么办法可以解决这个问题吗?

最佳答案

伙计们,我找到了解决方案!!!!!!!!!!!!呼啦啊!!! :)))) 对于那些将来会遇到这个问题的人,这里是代码

$article_header = mb_convert_encoding($article_header, 'HTML-ENTITIES', "UTF-8");

这必须在 loadHTML 之前完成,一切正常!!!

关于php - 在 PHP 中使用 DOM 对象时出现 UTF8 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7119696/

相关文章:

javascript - 如何发布表中的一行内容,该表是服务器 GET 请求的响应?

php - PHP 中的展开语法有何用处?

php - MySQL 在终端中工作,但在 PHP 中不工作

php - Carbon - 为什么 addMonths() 改变月份的日期?

php - Json_encode数组函数错误

php - 从 Facebook 注销后,我的 Facebook 应用程序仍然登录

javascript - 打印时将元素设置为内联显示,该元素设置为无

javascript - 将 DOM 元素转换回 HTML

javascript - 使用 javascript 将 img 元素添加到 div

javascript - InnerHTML 慢?