我在做一个正则表达式,你可以让任何字符:正则表达式允许任何字母数字字符,带有重音和子弹,破折号任何字母和下划线
任何字母数字字符大写和小写,包括n个
2.任何字母大写和小写,有口音“AEIOU”
3.任何字母大写和小写符号“ä ëïöü”
4.下划线
5.破折号
6.点数
7.分号
8.换行符
9.删除任何特殊字符例如:¡=)(/ &%$#“|°¬'+} {};:?!_ []¨*`等等
与0之间和75
我搜索了很多资料,我发现了一些功能,指定最小和最大字符数,如,但要实现这一点,我已经给了很多的结合代码,我想用正则表达式来做这件事。
我做我自己的角色,到现在为止我有一个功能,它允许任何字母数字字符,空格,点划线,例如:
/^[a-zA-Z0-9_\-\. ]{0,75}+$/
我发现这个功能来删除特殊人物:
function remove_characters_special($text = '') {
$text = preg_replace('~[^\\pL\d\.]+~u', ' ', $text);
return $text;
}
它是有效的,为重音字母和子弹做到这一点?
/^[a-zA-Z0-9_\-\. áéíóúÁÉÍÓÚñÑäëïÖüÄËÏÖü]{0,75}+$/
请!我想帮助我完成此功能。
非常感谢,感谢您的帮助。
而且您的匹配模式必须是Unicode正则表达式:'^ [\ PL \对-N \ S ._-] {0, 75} $/u'添加'u' [flag](http://php.net/manual/en/reference.pcre.pattern.modifiers.php)并使用[unicode categories](http://www.regular -expressions.info/unicode.html)如果输入是utf-8。 –
@ bobble bubble - 非常感谢,我一直在测试,看起来脚本失败了,但我改变了模式/^[\pL\pN\pZ._\-- {0,75} $/。如果它有效,但如果我添加带有重音符号或子弹的字母失败,则需要在模式中转义脚本。 –
哦!有一个滑。你试过'$ pattern ='/^[\ pL \ pN \ s ._-] {0,75} $/u';'缺少起始分隔符。 –