【问题标题】:PHP HTML ASCII encode without modify HTML tagsPHP HTML ASCII 编码,无需修改 HTML 标签
【发布时间】:2013-01-14 17:56:39
【问题描述】:

我正在尝试制作一个简单的脚本来防止机器人读取网页。

我目前正在使用此代码:

<?php echo "&#".ord("f").";"; ?>

那个输出:

&#102;

在你的咖啡机中你会看到:

f

这是一个使用 HTML ASCII 编码的简单脚本:http://www.w3schools.com/tags/ref_ascii.asp(更多信息)。

但我想在不修改 HTML 代码的情况下对这样的字符串进行编码(这是一个示例,不是真正的字符串):

<p>i<a href="#">s</a>o</p>

我要输出:

<p>&#105;<a href="#">&#115;</a>&#111;</p>

在browser中查看:

这可能吗?有人能指出我正确的方向吗?

谢谢。

【问题讨论】:

  • 没有使用 HTML 解析器的机器人会对此感到困惑。

标签: php html ascii encode


【解决方案1】:

希望对你有帮助

<p><?php echo html_entity_decode(htmlentities("&#".ord("i").";")); ?><a href="#">
<?php echo html_entity_decode(htmlentities("&#".ord("s").";")); ?></a>
<?php echo html_entity_decode(htmlentities("&#".ord("f").";")); ?></p>

更多信息,请参考http://php.net/manual/en/function.htmlentities.php和这个

http://php.net/manual/en/function.html-entity-decode.php

【讨论】:

  • 对不起,我没有正确表达我的问题。问题已更新。
  • 你可以在浏览器看到源代码和输出,你需要的就在那里
  • 这将输出您想要的输出
  • “这是一个例子,不是真正的字符串”,我想动态地做。
  • 对于每个字母使用数组运行该函数,转换它然后使用它,至少你得到了代码的基线
猜你喜欢
  • 2011-05-18
  • 2010-12-29
  • 2014-02-10
  • 1970-01-01
  • 2013-02-28
  • 2011-06-17
  • 2012-11-28
  • 1970-01-01
  • 2012-01-25
相关资源
最近更新 更多