任何WP函数都将$att 来自的数组[myShortcode att1="..." att2="..." ...] 字符串使用" 用于分隔数据的字符。但是“ 以及” 字符似乎被解读为文本,而不是限定符;并将其用于替代" 可能导致短代码错误。
理论上,不应该有问题,因为“ 和” 不是qwerty键盘上的字符,因此手动输入时不会遇到。然而,从使用“ 和” 允许将其包含在内(对于这种情况,应该进行错误检查)。例如,页面The Beginner’s Guide to Writing Your Own Custom Shortcode 他说[helloworld name=”Bob”] 输出Hello Bob!, 但事实并非如此,因为网页的样式很可爱" 进入”. 切割和粘贴[helloworld name=”Bob”] 输出Hello ”Bob”!; 和[helloworld name=”Bob Smith”] 输出Hello ”Bob!, 因为Bob 和Smith 被读取为delimeter,数组显示[name] = "Bob 还有那个[0] = Smith.
正在执行preg_replace 在将其解析为$atts 数组似乎是防止错误的最佳方法。问题是在哪里这样做。