使用正则表达式在textarea中允许返回行

时间:2016-03-01 10:31:22

标签: php html regex

我想在表单 textarea 中允许 returnlines 。我还没有找到增加这种可能性的方法 到我的正则表达式返回行是否会存储在数据库中?

以下是HTML表单:

<form method="post" action="#">
    <textarea name="description" spellcheck="true" maxlength="500"></textarea> 
</form> 

带有正则表达式的PHP代码用于管理textarea输入( true =将regex = store与数据库匹配):

if (!preg_match("/^[a-zàâäèéêëîïôœùûüÿç0-9 !?’',.-]+$/i", $POST['description'] )) {
    return false;
}
    return true;
}

1 个答案:

答案 0 :(得分:1)

您可以通过添加\n\r来匹配新行(和回车):

/^[a-zàâäèéêëîïôœùûüÿç0-9 \n\r!?’',.-]+$/i

但也许您想要允许所有类型的空白区域(如标签,不间断的空间......)。然后,您可以更好地使用\s

/^[a-zàâäèéêëîïôœùûüÿç0-9\s!?’',.-]+$/i

列出所有允许的字母可能很困难。总会有另外一个角色......比如ò。如果您愿意允许任何可以被称为某种语言或字母(即希腊语,西里尔语)的字母,那么最后将\pL escapeunicode modifier u结合使用。

注意您也可以使用\d来匹配数字:

/^[\pL\d\s!?’',.-]+$/iu