【问题标题】:Can I use HTML purifier to find encoding issues instead of just stripping them?我可以使用 HTML 净化器来查找编码问题,而不仅仅是剥离它们吗?
【发布时间】:2013-04-26 06:10:30
【问题描述】:

我有一个(大)正文,我正在尝试将其从最初的网络友好格式转换为“稍微”限制性更强的格式(epub——有些读者对他们的 HTML 非常挑剔接受)。

HTML 净化器在解决一类问题方面表现出色,我将其称为“糟糕的编码”。诸如缺少右括号(这在技术上是合法的 HTML)以及浏览器自动解决的其他烦恼。

HTML 净化器工作得很好的地方是它遇到了编码问题。许多字符保存在 Ӓ格式,(显然?)HTML净化器不关心。也许我只需要更好地配置它。另一个问题是我存在的祸根:花引号、破折号等。我已经设法对其中的一些问题进行了大规模搜索和替换,但我担心的是我可能在某个地方错过了一个角色(因为遇到一个用口音和拼写的似曾相识的案例带回家)包括坟墓标记)。

有没有办法让 HTML 净化器告诉我这些字符存在问题,而不是默默地剥离它们?我正在尝试查看代码,但该软件非常适合不同的用例场景(“静默”处理用户输入,而不是程序员对文本正文进行大量转换),而我只是没有看到我要查找的数据。

【问题讨论】:

    标签: php html-parsing htmlpurifier


    【解决方案1】:

    我认为这个函数 mysql_real_escape_string($text) 对你的问题有用

    $text="这是一个早已确立的事实,即读者在查看页面布局时会被页面的可读内容分散注意力。使用 Lorem Ipsum 的关键在于它或多或少具有正态分布字母,而不是使用“这里的内容,这里的内容”,使其看起来像可读的英语。许多桌面出版包和网页编辑器现在使用 Lorem Ipsum 作为他们的默认模型文本,搜索“lorem ipsum”会发现许多网站仍处于起步阶段。多年来,各种版本不断发展,有时是偶然的,有时是故意的(注入幽默之类的)。”;

    $main = mysql_real_escape_string($text);

    【讨论】:

    • mysql_* 函数已弃用,请查看stackoverflow.com/questions/12859942/…
    • 它们不仅贬值,而且我不希望系统简单地为我决定合适的替代品是什么。我想知道有问题并自己解决。
    • @jitesh 您的评论似乎已被截断......我所看到的只是一个指向参考页面的链接,该链接证明了 NullPointer 的观点,即该函数已被贬值,应该避免使用。此外,它基于字符集——因为字符集本身就是问题所在,这使得它完全不可行。
    猜你喜欢
    • 2011-09-26
    • 1970-01-01
    • 2011-05-23
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多