【问题标题】:Find/Replace htmlentities using the standard linux toolchain?使用标准 linux 工具链查找/替换 htmlentities?
【发布时间】:2010-07-23 22:21:54
【问题描述】:

有没有一种方法可以使用标准的 linux 工具链来执行以下操作?

假设 example.com/index.php 的来源是:

Hello, & world! "

我该怎么做这样的事情......

curl -s http://example.com/index.php | htmlentities

...将打印以下内容:

Hello, & world! "

只使用标准的 linux 工具链?

【问题讨论】:

    标签: linux html-entities linux-toolchain


    【解决方案1】:

    使用recode

    $ echo 'Hello, & world! "' | recode HTML_4.0
    Hello, & world! "
    

    编辑:顺便说一下,recode 提供了几种不同的转换,对应于不同版本的 HTML 和 XML,因此您可以使用例如HTML_3.2 而不是 HTML_4.0 如果您有一个非常旧的 HTML 文档。运行recode -l 将列出程序支持的所有字符集的完整列表。

    【讨论】:

    • $ man recode没有手动输入recode $ type recode bash: type: recode: not found(不是说它不好,但它是标准工具链的一部分吗?)
    • @Stephen:你必须先安装它。
    • @Stephen P:显然它没有安装在您的计算机上。 recode 是否是标准工具链的一部分是有争议的(AFAIK),但它很常见,如果它不被认为是工具链的一部分,我怀疑任何东西都可以完成这项工作。
    • 这确实似乎不是我要求的标准工具链的一部分,但它本着这样一个工具的精神(即正是我想要的)所以我把它标记为正确的答案:)
    【解决方案2】:
    alias decode="php -r 'echo html_entity_decode(fgets( STDIN ));'"
    
    $ echo 'Hello, & world! "' | decode
    Hello, & world! "
    

    【讨论】:

    • 这很酷,所以 +1。但它并没有真正回答我的问题 - 我一直在寻找与大卫提供的内容类似的东西。
    • 也谢谢,我最终使用了这两个答案,因为 php 包含在 Mac 上,否则它会重新编码。
    猜你喜欢
    • 2013-08-27
    • 1970-01-01
    • 2010-10-25
    • 2011-12-19
    • 2014-09-21
    • 2021-05-10
    • 2014-05-09
    • 1970-01-01
    • 2011-07-08
    相关资源
    最近更新 更多