【发布时间】:2015-04-04 15:25:02
【问题描述】:
由于自定义存储需求(“为什么”在这里并不重要,谢谢!)我必须以特定格式保存 html <a> 链接,例如:
myDOMNode->setAttribute("href", "{{{123456}}}");
一切正常,直到我在包含的 DOMDocument 上调用 saveHTML()。这会杀死它,因为它会将{ 编码为%7B。
这是一个旧版应用程序,其中 href="{{{123456}}}" 用作占位符。命令行解析器会准确查找此模式(未编码)并且无法更改。
我别无选择,只能这样做。
我无法对结果进行 htmldecode()。
这个 HTML 永远不会这样显示,它只是一个存储需求。
感谢您的帮助!
注意:我已经环顾了 2 个小时,但没有一个建议的解决方案对我有用。对于那些会盲目地将问题标记为重复的人:请发表评论并让我知道。
【问题讨论】:
-
确实对它进行了编码。但这并不能解释您所说的“这会杀死它”是什么意思。这是一个 URL,它们可以被编码,没问题。让大家看看我不是在开玩笑,我做了一个例子:ergobase.nl/test25.html 看源代码,它是编码的,点击链接,它可以工作!哇。那么请告诉我你所说的“这会杀死它”是什么意思?
-
你是对的,链接可以工作,但这是一个遗留应用程序,其中 href="{{{123456}}}" 用作占位符。命令行解析器会准确查找此模式(未编码)并且无法更改。
-
如果在
saveHTML()之后和将其发送到命令行解析器之前使用html_entity_decode()会发生什么? -
正如我所说不能那样做(页面有其他编码实体必须保持不变)
-
你说它是一个遗留应用程序;你用的是什么 PHP 版本?
标签: php domdocument