首页 > 解决方案 > HTML textarea 更改引号使代码不起作用

问题描述

在我的 Wordpress 网站上,我正在尝试使用 textarea 与访问者共享图像代码以在他们的网站上发布。在后端,一切看起来都不错,但是从 textarea 复制和粘贴,它会将中性引号 (") 转换为断开链接的方向引号 (")。

代码:

<textarea style="resize: none; margin: 0px; padding: 5px; max-width: 100%; height: 150px; width: 720px;" readonly="readonly">
    <a href="https://fdmotion.com">
        <img src="https://fdmotion.com/wp-content/uploads/2021/09/banner1.jpg" alt="FDMotion Custom Orthotics" />
    </a>
</textarea>

复制/粘贴后

<a href=”https://fdmotion.com”&gt;<img src=”https://fdmotion.com/wp-content/uploads/2021/09/banner1.jpg” alt=”FDMotion Custom Orthotics”&gt;</a>

环顾四周,但找不到任何可以更改的 textarea 属性。有什么建议吗?

标签: htmlcsswordpress

解决方案


如果没有看到您是如何生成该 textarea 代码的,很难说,但是 WP 使用 wptexturize 过滤器将引号转换为“智能”引号。

本文有助于解释使用此过滤器的程度:https ://www.webnots.com/4-ways-to-disable-smart-or-curly-quotes-in-wordpress/

至此,根据 textarea 内容的生成位置,我的猜测是,在它创建的某个时刻,它正在通过 wptexturize 运行。我会尝试将以下行添加到您主题的 functions.php 文件中,看看这是否会为您禁用智能引号行为:

/** Disable Curly Quotes */
remove_filter('the_content', 'wptexturize');
remove_filter('the_excerpt', 'wptexturize');

这将从 the_content、the_excerpt 等的所有实例中删除过滤器,因此可能不是最终解决方案。但是,如果行为发生变化,它应该可以帮助我们缩小范围,如果发生变化,可能是哪个过滤器负责。


推荐阅读