所以我知道addslashes()
和相关的原生PHP函数,但我很惊讶,鉴于WordPress对CMS的关注,我无法很快找到适用于这种情况的WordPress“一应俱全”。
我希望我的所有元数据库都能解决这个问题,而不是使用每个保存和回显函数,添加/删除斜杠。。。或者,在呼应我没有想到的数据时,有一种更聪明的方法可以做到这一点。
问题很简单,我有一个带有引号的值的post meta框(\'
) 我将其复制到模板中,如下所示:
echo "<input style=\'width:450px;\' type=\'text\' placeholder=\'The Title\' name=\'the_title\' value=\'".$val."\'></input>";
引用过早关闭,因此破坏了HTML,因为(
\'
) 在里面
$val
.
所以我的问题是,我是否需要遍历我的元框,编码或添加斜杠,然后遍历我的模板,并对所有这些潜在的情况反向执行相同的操作。。。或者,有什么更好的方式来思考这个问题?
最合适的回答,由SO网友:Jacob Peattie 整理而成
您需要转义该值,以便在HTML属性中使用esc_attr()
:
echo "<input style=\'width:450px;\' type=\'text\' placeholder=\'The Title\' name=\'the_title\' value=\'" . esc_attr( $val ). "\'></input>";