如何在php中转义特殊字符

Fer*_*ero 1 php

我在编辑器中发布此内容.

> <div class="faq"><ul><li><span class="q">What is a teest?</span> 
> <span class="a">A test.</span><div class="spacer"></div></li> </ul></div>
Run Code Online (Sandbox Code Playgroud)

它以下列格式保存.

<p>&lt;div class=\\\"faq\\\"&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=\\\"q\\\"&gt;What is a teest?&lt;/span&gt; <br />&lt;span class=\\\"a\\\"&gt;A test.&lt;/span&gt;&lt;div class=\\\"spacer\\\"&gt;&lt;/div&gt;&lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;</p>
Run Code Online (Sandbox Code Playgroud)

因此输出效果不佳.我添加了stripslashes和addslashes.即使它不起作用.

解决此问题的最佳方法是什么?

提前致谢...

Flo*_*ern 5

那太丑了..

你需要stripslashes()两次,strip_tags()并且htmlspecialchars_decode(),如果你想工作的HTML代码.

$html = '<p>&lt;div class=\\\"faq\\\"&gt;&lt;ul&gt;&lt;li&gt;&lt;span> ...';
$html = htmlspecialchars_decode(strip_tags(stripslashes(stripslashes( $html ))));
echo $html;
Run Code Online (Sandbox Code Playgroud)

这将打印:

<div class="faq"><ul><li><span class="q">What is a teest?</span> ...
Run Code Online (Sandbox Code Playgroud)