如何将 JavaScript 和 HTML 保存在选项中而不自动转义?

2024-01-02

我自以为我很了解 WordPress。现在看来 update_option() 自动转义代码。如果我想在选项中保存一些 Javascript 或 HTML 代码,此行为会导致代码无法使用。

我拒绝对返回值执行 str_replace 来过滤掉每个反斜杠。一定有更好的方法。

下面是用于在文本框中输入一些代码的 PHP:

$option = unserialize(get_option('option'));

<textarea name="option[box]"><?php echo $option['box']; ?></textarea>

这是提交表单后发生的情况(实质上):

update_option('option', serialize($_POST));

有任何想法吗?

Edit:我现在通过使用 PHP 的 stripslashes() 来使其工作,其中必须呈现脚本,并在文本框中使用 htmlentities(stripslashes()) 来显示存储的代码。虽然这可以完成工作,但我仍然想知道是否有更好的解决方案。


现在看来 update_option() 自动转义代码。

它仅清理数据库条目的值。你会发现真正的麻烦制造者在第 750 行附近wp-settings.php,以及 WP 函数add_magic_quotes().

是的,你没看错,添加魔法引号!

由于某种原因,WordPress 决定强制执行魔术引号,因此在编写插件等时,您始终需要在 GET 和 POST 上去掉斜杠。

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

如何将 JavaScript 和 HTML 保存在选项中而不自动转义? 的相关文章

随机推荐

  • NestedScrollView 内带有锚点的 Webview

    我有一个 NestedScrollView 里面有一个 WebView WebView 包含一个带有锚点的 HTML 文件 这些文件链接到同一文件但不同的位置 想象一下 菜单 和 内容 容器 当您单击菜单项时 内容 中的相应部分应该出现在屏
  • 在 Visual Studio 代码中运行 asm

    Visual Studio代码 mac 中是否有某种可以运行基本程序集的插件 例如以下内容 section text globl start start movl 1 eax movl 0 ebx int 0x80 事实上 目前我正在 ss
  • PhoneGap 捕获插件导致 Android 崩溃

    当我使用捕获插件时 它总是在拍照后使应用程序崩溃 当我单击 捕捉 按钮时 它会打开相机应用程序 我拍照 然后单击复选标记 然后应用程序关闭并显示 不幸的是 HelloWorld 已停止 然后 如果我查看图库应用程序 照片就在那里 我做错了什
  • Node.JS 上的 WooCommerce WebHook 签名匹配问题

    我正在尝试在我的 Node js 网站上验证来自 WooCommerce 的 webhook 交易 但是我无法让 2 个字符串匹配 可以看到php签名是用下面的代码生成的 源码可以看这里WooCommerce 来源 https github
  • 带滚动的 UITextView 动态设置调整大小为默认值

    我已经实现了一个有底部的 ViewControllerUIView含有UITextView禁用滚动 当您在其中键入内容时会调整大小 当包含的文本高度达到 90 像素时 我启用滚动 gt scrollEnabled YES 应该发生什么 Th
  • 使用 Jest 对依赖于 http 调用的代码进行单元测试的最佳方法?

    假设我有一个与 firebase 身份验证系统一起使用的登录和注销功能 一个单元将如何测试这种方法 firebase 应用程序实例被导入并在登录功能中使用 如果需要 代码片段 export function login data retur
  • 为什么 coord_map 会产生奇怪的输出?

    我正在尝试使用绘制世界地图ggplot 我的代码在我的要点文件 https gist github com pachevalier 38666a7fecab76f986b4 当我不使用时输出是正确的coord map但当我使用时很奇怪coo
  • 使用 gatsby-plugin-react-i18next 时 Gatsby 找不到客户端路由

    我正在 Gatsby 中使用客户端路由gatsby plugin react i18next 当我尝试在不使用默认语言的情况下访问其中一个客户端路由时 例如url 前缀为 sv 然后我发现该路线不存在 如果我添加前缀 sv到路由器基本路径
  • Flume - 整个文件可以被视为 Flume 中的一个事件吗?

    我有一个用例 需要将目录中的文件提取到 HDFS 中 作为 POC 我在 Flume 中使用了简单的目录假脱机 其中我指定了源 接收器和通道 并且它工作得很好 缺点是我必须为进入不同文件夹的多种文件类型维护多个目录 以便更好地控制文件大小和
  • 在express中获取rawBody

    我正在尝试从帖子中检索某些内容 并且需要传入请求中的 rawBody 属性 我怎样才能取回它 我尝试使用express bodyParser 在我的帖子处理程序中 我正在寻找req rawBody 但它是未定义的 我什至尝试使用 conne
  • 属性“x”是私有的,只能在类“y”内访问

    我有这段代码 import Component from angular core import NavController Loading Alert from ionic angular Component templateUrl bu
  • MapView 检测滚动

    我希望如此MKMapView继承自UIScrollView就像UITableView and UICollectionView是 这样你就可以覆盖UIScrollView委托方法并执行您需要执行的操作 我找到了将平移手势附加到的方法MapV
  • 使用黄瓜运行量角器时如何仅运行一个特征文件?

    我有多个功能文件 我真的很想只运行一个文件或一个场景或一个标签 我知道我可以只在 cucumberConf js 的规范中提供一个文件 但我想运行一次而不用摆弄我的 cucumberConf js 运行量角器时需要输入哪些参数 在量角器的配
  • 如何使用您自己的编程语言来利用 VDSO 对象?

    最近的 Linux 内核 至少在 amd64 上 提供了一个名为的神奇对象文件linux vdso so 1它抽象了内核的系统调用接口 允许内核选择最佳的调用约定 如果你用 C 语言编写代码 glibc 会自动使用这个对象 现在 如果我想编
  • 我应该使用什么模型/模式来处理多个数据源?

    作为电子商务系统的一部分 我需要设计和实现某种黑匣子 这需要从各种内部和外部数据源 即网站 外联网 雅虎商店 亚马逊 xml 提要等 接受客户和订单 并插入 更新后端系统 用于插入 更新客户和订单数据的 API 已在网站上到位并且运行良好
  • 如何从 sip.voidptr (QImage.constBits()) 转换为 ctypes void 或 char 指针?

    我使用的是 python 当然你不能很快地循环遍历大图像的每个像素 所以我遵循 C DLL 我想做这样的事情 img QImage myimage png constBits imgPtr c void p img found ctypes
  • 如何使用 Java 在 Android 中获取 Google 搜索结果?

    我想将 Google 搜索功能添加到我的 Android 应用程序中 我想创建一种布局 可以在其中显示来自不同分支 书籍 视频 地图等 的结果 如何以编程方式获得结果 有 API 和示例吗 谷歌网页搜索 http code google c
  • Flurry Session 数据与 Google Analytics

    我们在 Android 和 iOS 应用程序上运行 Flurry 和 GA 然而 在同一时间段内 Flurry 上的会话数比 GA 上的会话数多 30 有人也经历过这个吗 理想情况下不想同时运行两者 在 Flurry 中 每次一项活动启动
  • 匹配任何 URL 参数值的正则表达式(Perl 语法)

    我正在努力寻找一种模式 允许我选择 URL 字符串的 Parameter Value 元素的值部分 我希望它足够通用 以便我可以用任何术语替换 参数 并检索其值 例如 如果 URL 字符串是 它始终遵循以下一般形式 我需要能够有选择地获取用
  • 如何将 JavaScript 和 HTML 保存在选项中而不自动转义?

    我自以为我很了解 WordPress 现在看来 update option 自动转义代码 如果我想在选项中保存一些 Javascript 或 HTML 代码 此行为会导致代码无法使用 我拒绝对返回值执行 str replace 来过滤掉每个