【问题标题】:URL parsed incorrectly in textarea [duplicate]文本区域中的 URL 解析不正确 [重复]
【发布时间】:2021-06-21 14:53:20
【问题描述】:

我做了一个小提琴来显示我的问题:https://jsfiddle.net/7r4y90xj/

我粘贴下面的代码:

<textarea id="acf-editor-115" class="wp-editor-area" name="acf[field_5e84a7a85a0a7][row-1][field_5e84a7f95a0a9]" style="height:300px;">
<a href="https://hub-roy.shop.secutix.com/selection/timeslotpass?productId=10228328078743&gtmStepTracking=true" target="_blank" rel="noopener">buy</a>
</textarea>

如您所见,href 已转换:

https://hub-roy.shop.secutix.com/selection/timeslotpass?productId=10228328078748>mStepTracking=true

区别在于 &gt 和 > 字符。

似乎浏览器检测到“&gt”就好像它是实体“>”并将其转换为“>”字符,这会破坏我页面中的所有内容,因为浏览器将其解释为中间的结束标记的href...

知道为什么会发生这种情况以及如何避免吗?

谢谢

您在使用 ACF 时是否已经不得不面对这个问题?你有解决办法吗?

谢谢你, 马克西姆。

【问题讨论】:

    标签: html


    【解决方案1】:

    您可以将&amp;gt 中的&amp; 替换为&amp;amp。这只是替换&amp;,所以它不会被解释为&gt;。也许例子会更有意义:

    之前:

    &gt
    

    之后:

    &ampgt
    

    结果:

    &gt
    

    我不知道这是否能解决您的问题,但它在您发送的小提琴中有效。

    在代码中:

    小提琴的结果:

    如果您对其他 htmlentities 也有同样的问题,以下是它们的列表:https://dev.w3.org/html5/html-author/charref

    【讨论】:

    • 谢谢,这是有道理的。但令我惊讶的是,我认为 HTML 实体应该以 ; 结尾。特点。在这里,浏览器接受 &gt 字符串(不带 ; 字符)并将其解释为实体。这正常吗?
    • &amp;gt 应该跟; 结尾是对的。但是我对其进行了测试,当 ; 最终不存在时,浏览器会将其解释为 HTML 实体事件。
    • 另外,如果我的帖子对您​​有所帮助,您能否将其签名为已接受的答案?将不胜感激
    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    相关资源
    最近更新 更多