这在一开始是一个玩笑,但现在我想知道是否可以将regex与hook comment\\u form\\u defaults一起使用。以下是我想要的:
function remove_default_allowed_tags( $defaults) {
$defaults = preg_replace(\'/<p class="form-allowed-tags">(.*?)<\\/p>/\',\'\', $defaults);
return $defaults;
}
add_filter(\'comment_form_defaults\', \'remove_default_allowed_tags\', 2);
我知道这样做很容易:
$defaults[\'comment_notes_after\'] = \'\'; return $defaults;
但我只是想知道我是否可以在这种情况下使用regex,如果不能,为什么。感谢您的回答。
最合适的回答,由SO网友:s_ha_dum 整理而成
可以在任何有字符串要操作的地方使用regex。这就是基本的PHP。WordPress没有什么特别之处可以改变这一点。
但是,当有其他选项时,为什么要使用regex呢?虽然很有趣,但regex很棘手,很容易出错,而且使用它的开销很大。
您正在执行的操作将生成“数组到字符串的转换”Notice
, 顺便说一句preg_replace
将接受字符串数组作为第三个参数,但$defaults[\'fields\']
是一个数组Notice
因此,如果您试图更改该字段,它将不会像预期的那样工作。