preg_match 语句中的正则表达式

海梅

需要帮助来修复第 13 行 preg_match 语句中的正则表达式。

这是针对表单上的评论字段,我希望评论能够根据需要尽可能长,但他们应该只能使用字母、数字、感叹号、问号、逗号和句点,仅此而已。换句话说,一两个基本句子。

这是我的代码...

// Validate the message field is in regex format.
add_action( 'elementor_pro/forms/validation', function ( $record, $ajax_handler ) {
    $fields = $record->get_field( [
        'id' => 'message',
    ] );

    if ( empty( $fields ) ) {
        return;
    }

    $field = current( $fields );

    if ( 1 !== preg_match( '/[^0-9a-z\s-]/i', $field['value'] ) ) {
        $ajax_handler->add_error( $field['id'], 'Please write to us in English and no URLs allowed on this field.' );
    }
}, 10, 2 );

在此先感谢您的帮助。

海梅

巴尔马尔

您的正则表达式匹配包含禁止字符的内容。所以你应该使用===,而不是!==或者只是将其视为布尔值而不与任何内容进行比较。

您需要在正则表达式的允许字符列表中添加感叹号、问号、逗号和句点。

    if (preg_match( '/[^!?,.0-9a-z\s-]/i', $field['value'] ) ) {

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP 中的正则表达式与 preg_match

正则表达式和preg_match

preg_match的正则表达式

PHP preg_match和正则表达式

PHP preg_match使用正则表达式的简单数学表达式

使用 preg_match 和正则表达式进行 PHP 表单验证

PHP preg_match使用URL作为正则表达式

php preg_match与正则表达式无法正常工作

Laravel后端验证preg_match():未知修饰符'?' 使用正则表达式

奇怪的 PHP 正则表达式 Preg_Match 错误?

preg_match中的正则表达式,返回3个匹配项

正则表达式,用于以空格分隔的输入要在php的preg_match中使用

如何使用正则表达式或preg_match提取引号内的文本?

如何编写此正则表达式以与 preg_match 一起使用?

PHP正则表达式转义字符错误:“ preg_match():编译失败:缺少”

preg_match()+正则表达式在TXT文件中不起作用

如何通过正则表达式preg_match查找特定字符串

正则表达式preg_match无法正常工作

php preg_match问题,带有“ [image:内嵌图像1]”正则表达式

php preg_match和regex正则表达式

即使存在正则表达式模式,PHP preg_match也会失败

正则表达式php中的Preg_match替代值

PHP preg_match()正则表达式模式与空格匹配的问题

preg_match正则表达式,中间带有修复字符

php,正则表达式preg_match特定单词0或1次

正则表达式 / preg_match 查找 13 个字符的唯一 ID

正则表达式使用 preg_match 验证没有顶级域的域名

Preg Match正则表达式

正则表达式适用于Javascript,但不适用于PHP preg_match