我有一个元字段,它在管理面板中显示为:
$field = get_post_meta($postid, \'field_name\', true); ?>
<input type="text" name="field_name" value="<?php echo (!empty($field)) ? $field : \'\'; ?>" />
通常每当我保存这些东西的时候
sanitize_text_field()
我觉得这已经足够了,直到今天。。。今天我意识到它不能正确地编码任何html实体,例如引号。例如:假设用户进入我的文本字段
马特说:“喷气燃料不能熔化钢梁…”
可以使用上面的功能对其进行消毒,但只要回显给我得到的用户
马特说
输入如下所示:
<input type="text" name="field_name" value="Matt said " Jet fuel can\'t melt steel beams" />
我可以使用
htmlspecialchars()
无论何时保存我的meta,但这都违背了目的。我为什么要用
sanitize_text_field()
结束
strip_tags( htmlspecialchars() )
?