在字符串中没有图像 SRC 的情况下,如何删除 HTML 特殊字符?

How I can HTML Special Chars remove without image SRC in string?

我试过去掉字符串中的HTML代码而不去掉图片代码

$HTMLstring = "<div class="h3 clr"><span>hello world</span><img src="/root/image.jpg"></div>

$plainText = htmlspecialchars(trim(strip_tags($HTMLstring)));

$plainText // "hello world"

我的目的:$plainText // "hello world <img src="/root/image.jpg">"

好的,但我丢失了图像 link。 我应该怎么做才能防止这部分 <img src="/root/image.jpg"> 被删除?

除了 strip_tags() 的第二个参数中的标签外,您可以去除标签:

$HTMLstring = '<div class="h3 clr"><span>hello world</span><img src="/root/image.jpg"></div>';
$AlwaysHTMLString = strip_tags($HTMLstring, '<img>');
echo $AlwaysHTMLString;
// hello world<img src="/root/image.jpg">

不要使用 htmlspecialchars() 否则你的 <img> 将不会被渲染。