strip_tags 和 html_entity_decode 组合无法按预期工作

2024-02-24

从昨天起我一直在与这个问题作斗争 - 不幸的是没有任何效果(不完全是,我找到了某种解决方法),经过一些研究和重读文档后我仍然有点目瞪口呆和困惑。

假设有一个丑陋的字符串,它已经有正确的 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)));

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

最后只是一堆文字。染染染

问题是——为什么不呢?

strip_tags(htmlspecialchars_decode($exampleString));

工作(我认为)它应该工作吗? 任何见解都非常感激。

Cheers


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

<这不是<.

所以,你首先htmlspecialchars_decode只是转换

< to <

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

strip_tags 和 html_entity_decode 组合无法按预期工作 的相关文章

  • 引导导航栏菜单与文本重叠

    我使用最新版本的引导程序 当我调整屏幕浏览器的大小时 使用小切换按钮下拉导航栏时 导航栏会重叠页面上的文本 而不是向下推页面内容 我已经多次研究过这个问题 我尝试将 padding bottom 放在导航栏上 将 padding top 放
  • 来自 HTML5 的 Phonegap Bonjour/Zeroconf 或 Websocket IP 发现

    我正在尝试实现一个 Phonegap HTML5 应用程序 该应用程序连接到 Websocket 服务器 在嵌入式设备中运行 也有 Bonjour 服务 以在家庭网络内交换数据 我想知道使用 Phonegap 检测服务器 IP 的最佳方法
  • 如何在有序列表中组合数字和字母?

    如何在 CSS 中用数字和字母递增有序列表 ol nested margin bottom 0 counter reset item ol nested li display block position relative ol neste
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • html 选择列表 - 通过传入变量获取文本值?

    我有一个显示列表语言的选择列表
  • 我如何能够以两行显示标题,并且每行的字体大小不同?

    我正在使用 Google Chart API 创建时间线图 并希望将图的标题修改为两行 问题 我如何能够显示具有不同字体大小的两线图表标题 电流输出 理想输出 相关研究 我唯一能找到的是有人试图用饼图来做到这一点 但我尝试了但无法使其发挥作
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 悬停此元素时隐藏元素后的伪元素

    我的菜单垂直放置在页面左侧和菜单之间 li 我有一个 after那是一个分隔符 我想要的是当我悬停元素本身 如果它是第一个元素 时隐藏 after 元素 或者当它是中间元素时隐藏上面和底部的元素 如果它是最后一个子元素 则隐藏 after前
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • 字符串相似度的算法(比Levenshtein和similar_text更好)? php, Js

    在哪里可以找到比 levenshtein 和 phpimilar text 方法更准确地评估错误字符的拼写的算法 Example similar text jonas xxjon similar echo similar returns 6
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ
  • 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

    我用 PHP 创建了一个动态 PNG 图片 为了使用 PNG 扩展名 我创建了一个包含以下内容的 htaccess 文件 AddType application x httpd php png 在我的本地 XAMPP 服务器上 一切工作正常
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht

随机推荐

  • 如何从mysql数据库在arraylist中添加超过50,000,000条记录[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 将数据库中超过 50 000 000 条记录添加到数组列表中 我添加了 30 000 000 条记录 它显示堆内存不足错误 看看这里 增加
  • 在 Android 中获取麦克风音频。音频上下文

    由于某种原因我无法得到这个问题的答案 你好 我需要访问 Android 麦克风 我使用这个在网络上制作了一个调谐器应用程序 https github com cwilso PitchDetect https github com cwils
  • .kube/config 中没有访问令牌

    在 GKE 中升级集群后 仪表板将不再接受证书身份验证 我的同事说 没问题 kube config 中有一个可用的令牌 user auth provider config access token REDACTED cmd args con
  • 玩笑测试失败:TypeError:window.matchMedia 不是函数

    这是我第一次前端测试经历 在这个项目中 我使用 Jest 快照测试并收到错误TypeError window matchMedia is not a function在我的组件内 我浏览了 Jest 文档 找到了 手动模拟 部分 但我还不知
  • 如何使用纯 CSS 自动调整图像大小以实现响应式设计?

    我尝试使用 CSS 属性自动调整图像大小max width 但它在 IE7 和 IE8 中不起作用 有没有办法在 IE7 和 IE8 中使用纯 CSS 自动调整图像大小 Use width inherit 使其能够在 IE8 中使用纯 CS
  • 检查环境变量是否已设置[重复]

    这个问题在这里已经有答案了 我正在编写一个shell脚本 我必须检查是否设置了环境变量 如果没有设置则必须设置它 有什么方法可以检查 shell 脚本是否已经设置了环境变量 有条件地分配变量 无论是否在环境中 的标准解决方案是 VAR fo
  • 在以下情况下最终会发生什么情况?

    如果我有以下代码 try some code catch Exception e some code finally 在以下情况下 finally 块会发生什么情况 如果发生任何已检查的异常 如果 System exit 被调用 如果发生任
  • 从 C 读取串行数据 (OSX /dev/tty)

    我正在尝试使用 C 从蓝牙条形码扫描仪 KDC300 读取数据 这是我到目前为止的代码 并且该程序成功建立了与扫描仪的蓝牙连接 但是当扫描条形码时 上没有显示任何输入屏幕 最终将用数据完成更多工作 但我们必须首先让它工作 对吧 这是程序 i
  • 如何使用 POI 解析 Excel 文件中的 UTF-8 字符

    我一直在使用 POI 成功解析 XLS 和 XLSX 文件 但是 我无法从 Excel 电子表格中正确提取特殊字符 例如中文或日文等 UTF 8 编码字符 我已经弄清楚如何从 UTF 8 编码的 csv 或制表符分隔文件中提取数据 但对 E
  • Twitter Bootstrap 嵌套网格放置列

    这可以在 Twitter Bootstrap 中使用相同的标记通过操作行 列类来完成吗 我已经为不同的尺寸设置了单独的标记 理想情况下 我想要一个标记 并使其针对较小的屏幕适当折叠 大视野 Two One
  • 支持作业批处理的排队系统(例如,一名工人同时处理多个作业)

    我正在寻找一个可以支持以下场景的排队系统 客户端添加一个作业 检查某个特定 url URL1 有多少 Facebook 点赞 客户端添加了另一个作业 检查 URL2 的相同信息 一名工作人员从队列中选取 1 到 50 个工作 网址 例如 如
  • VS Code Code Runner 不适用于 virtualenvs

    我无法让 Code Runner 扩展与 virtualenvs 一起使用 每当我尝试运行导入仅安装在 virtualenv 中而不是全局 Python 安装中的库的代码时 我都会收到导入错误 在终端中运行完全相同的代码是可行的 我使用的是
  • 生成 BKS 密钥库并存储应用程序密钥

    我应该创建一个 BKS 密钥库并存储一个私有应用程序密钥 该密钥是一个 48 个字符长的字符串 我还有一个 JCEKS 密钥库 其中已包含此密钥值 如果我尝试使用 portecle 工具转换为 BKS 类型密钥库 则密钥条目会丢失 我是 J
  • 为什么我的程序集需要按特定顺序加载?

    我正在编写一个简单的插件并偶然发现contractType IsAssignableFrom pluginType https msdn microsoft com en us library system type isassignabl
  • 为 nltk 解析树生成语法规则

    如果我有这句话 Mary saw a dog 以及以下内容 pos tags NNP VBD DT NN 是否可以生成这句话的语法规则 以便可以生成解析树 下面的语法是使用的语法规则nltk parse cfg sent Mary saw
  • R 中的 strptime 错误:输入字符串太长

    我似乎无法将数据从 csv 转换为正确的日期类 我使用的是包含 1033 个日期的 csv 我已将 CSV 保存为 YYYYMMDD 格式 这是我导入 csv 的代码 似乎有效 bd lt read csv birthdaysExample
  • 用其内容替换组件 - 角度 2 [重复]

    这个问题在这里已经有答案了 我正在寻找一种方法来拥有仅以其内容呈现的组件 例如 给定组件 Component selector my cmp template div my cmp div class MyComponent 使用 angu
  • Google Analytics 缺少analytics.js 脚本

    我被困在复制谷歌分析跟踪代码问题上 看起来 Google Tag Assistant 没有考虑我从为网站生成的 GA 跟踪 JS 中复制的代码 该网站位于http www orchid co nz http www orchid co nz
  • 如何让用户保持登录状态?迅速

    我正在使用 firebase 进行登录 我需要知道如何保持登录状态直到注销 我听说过 UserDefaults 但我不确定如何使用它 这是我的登录视图控制器 import FirebaseAuth import FirebaseFirest
  • strip_tags 和 html_entity_decode 组合无法按预期工作

    从昨天起我一直在与这个问题作斗争 不幸的是没有任何效果 不完全是 我找到了某种解决方法 经过一些研究和重读文档后我仍然有点目瞪口呆和困惑 假设有一个丑陋的字符串 它已经有正确的 html 编码的特殊字符 像这样 exampleString