任何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
数组似乎是防止错误的最佳方法。问题是在哪里这样做。