gpt4 book ai didi

php - strip_tags 和 html_entity_decode 组合不能按预期工作

转载 作者:可可西里 更新时间:2023-10-31 22:52:42 26 4
gpt4 key购买 nike

我从昨天开始就一直在与这个问题作斗争——不幸的是无济于事(不完全是,我找到了某种解决方法),经过一些研究和重读文档后,我仍然有点目瞪口呆和困惑。

让我们假设有一个丑陋的字符串,它已经有正确的 html 编码的特殊字符。像这样:

$exampleString = '<div id="dynamic2"> <div
id="iStoreProductLongDescription" class="iStoreBox">
<div class="iStoreBoxWrapper"> <div
class="iStoreBoxContent"> <p style="text-
align:justify;"> </p> <p style="text-
align:justify;"><span style="font-
size:large;"><span> Just a bunch of text here, at
the end. yedyedyed';

现在我想将这个字符串输出为一个简单、干净的字符串,所以首先我需要将它转换为 html 标签,然后去除标签。所以我想下面的链应该可以工作:

$result = strip_tags(htmlspecialchars_decode($exampleString));

但是并没有,网络源中echo $result的输出是:

<div id="dynamic2"> <div id="iStoreProductLongDescription" class="iStoreBox"> <div class="iStoreBoxWrapper"> <div class="iStoreBoxContent"> <p style="text-align:justify;"> </p> <p style="text-align:justify;"><span style="font-size:large;"><span> Just a bunch o text here, at the end. yedyedyed

在用户输出中,html 标签是可见的并且保持不变。但是当我做这样的事情时:

$result = strip_tags(html_entity_decode(htmlspecialchars_decode($exampleString)));

然后它就像一个魅力一样工作并向用户输出所需的字符串,并且在网络源中也是如此:

Just a bunch o text here, at the end. yedyedyed

问题来了——为什么不

strip_tags(htmlspecialchars_decode($exampleString));

按(我认为)它应该工作的方式工作?非常感谢任何见解。

干杯

最佳答案

如果你仔细观察,你会发现你有

<它不是 < .

所以,你先htmlspecialchars_decode只是转换

<<

这肯定是一个特殊的实体,稍后可以通过第二次运行 htmlspecialchars_decode 对其进行解码(或 html_entity_decode )到 < , 但没有用 strip_tags 删除.

关于php - strip_tags 和 html_entity_decode 组合不能按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34510235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com