2

我正在使用 PHP,从网站获取 html,将它们转换为纯文本并将它们保存到数据库中。

它们需要以 utf-8 格式保存到数据库中。我的第一个问题是我不知道原始编码,从未知编码编码为 utf-8 的最佳方法是什么?

第二个问题是html到纯文本的转换。我尝试使用 html2text 但它弄乱了所有外国 utf 字符。

最好的方法是什么?

编辑:关于纯文本的部分似乎不够清楚。我不需要只剥离 html 标签。我想在保持一种文档结构的同时剥离标签。<p><li>标签将转换为换行符等,并且标签之类<script>的内容将被完全删除。

4

2 回答 2

3
  • 用于mb_detect_encoding()编码检测。

  • 用于strip_tags()摆脱 HTML 标签。

其他主题(例如格式化输出)取决于您的需求。

编辑:我不知道是否存在完整的解决方案,但此链接对于改进现有的 html 到您自己的文本 PHP 脚本确实很有帮助。

http://www.phpwact.org/php/i18n/utf-8

于 2011-12-02T16:03:39.867 回答
1

此功能可能对您有用:

<?php
function FixEncoding($x){
  if(mb_detect_encoding($x)=='UTF-8'){
    return $x;
  }else{
    return utf8_encode($x);
  }
}
?>
于 2011-12-02T16:28:42.393 回答