PHP 将字符串转换为 htmlentities
如何将 和
标记内的代码转换为 html 实体?
<code class="php"> <div> a div.. </div> </code>
<pre class="php">
<div> a div.. </div>
</pre>
<div> this should be ignored </div>
How can I convert the code inside the <code>
and <pre>
tags to html entities ?
<code class="php"> <div> a div.. </div> </code>
<pre class="php">
<div> a div.. </div>
</pre>
<div> this should be ignored </div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
好吧,我已经玩这个有一段时间了。结果可能不是最好或最直接的解决方案(坦率地说,如果任意用户要提交输入,我完全不同意你的方法),但它似乎“有效”。而且,最重要的是,它不使用正则表达式来解析 XML。 :)
伪造输入
代码
输出
证明
你可以看到它的工作此处。
请注意,它没有显式调用
htmlspecialchars
;DOMDocument
对象自行处理转义。我希望这会有所帮助。 :)
OK, I've been playing with this for a while. The result may not be the best or most direct solution (and, frankly, I disagree with your approach entirely if arbitrary users are going to be submitting the input), but it appears to "work". And, most importantly, it doesn't use regexes for parsing XML. :)
Faking the input
Code
Output
Proof
You can see it working here.
Note that it doesn't explicitly call
htmlspecialchars
; theDOMDocument
object handles the escaping itself.I hope that this helps. :)
你可以使用jquery。这将使用类
code
对任何标签内的任何内容进行编码。小提琴:http://jsfiddle.net/mazzzzz/qnbLL/
You can use jquery. This will encode anything inside any tags with a class
code
.The fiddle: http://jsfiddle.net/mazzzzz/qnbLL/
PHP
HTML
您听说过 BB 代码吗?
http://en.wikipedia.org/wiki/BBCode
PHP
HTML
Have you ever heard of BB code?
http://en.wikipedia.org/wiki/BBCode
这有点相关,你不必使用 Geshi,但我在这里写了一些代码 关于实现简单正则表达式(用于 bbcode/geshi 解析)的建议,这将帮助您解决问题。
可以将其调整为不使用 GeSHi,只是需要进行一些修改。希望对你有帮助。
This is related somewhat, you do not have to use Geshi, but I wrote a bit of code here Advice for implementing simple regex (for bbcode/geshi parsing) that would help you with the problem.
It can be tweaked to not use GeSHi, just would take a bit of tinkering. Hope it helps ya.