Preg_替换为PHP和MySQL,允许破折号和括号
我有一个网站,人们可以在其中添加内容,当他们键入标题时,使用PHP解析MySQL时,所有字符都会被过滤,只允许成员编写文本和数字。但是我想允许破折号(Preg_替换为PHP和MySQL,允许破折号和括号,php,mysql,parsing,Php,Mysql,Parsing,我有一个网站,人们可以在其中添加内容,当他们键入标题时,使用PHP解析MySQL时,所有字符都会被过滤,只允许成员编写文本和数字。但是我想允许破折号(-)和括号/括号(())。目前,我有: $video_title = preg_replace('#[^A-za-z0-9 ?!.,]#i', '', $_POST['video_title']); 我应该在preg\u replace函数中添加或删除什么来允许这些字符?只需在表达式中添加\(\)\- [^a-z0-9 ?!.,()-] 由于它
-
)和括号/括号(()
)。目前,我有:
$video_title = preg_replace('#[^A-za-z0-9 ?!.,]#i', '', $_POST['video_title']);
我应该在preg\u replace函数中添加或删除什么来允许这些字符?只需在表达式中添加\(\)\-
[^a-z0-9 ?!.,()-]
由于它刚刚被擦除,如果它不区分大小写,则只需将a-z
删除一次。只需将\(\)\-
添加到表达式中即可
[^a-z0-9 ?!.,()-]
由于它刚刚被删除,如果它不区分大小写,您只需将a-z
删除一次。这不是一个真正的答案,但它不适合放在注释框中
请注意,A-z
可能不会达到您在regexp字符类中所期望的效果:它匹配ASCII代码位于A
和z
之间的所有字符,其中包括所有大小写字母,但也包括一组标点字符:
echo连接(“,preg_grep(“/[A-z]/”,数组映射(“chr”,范围(0255)))。“\n”;
产出:
abcdefghijklmnopqrstuvxyz[\]^`abcdefghijklmnopqrstuvxyz
这不是一个真正的答案,但它不适合放在评论框中
请注意,A-z
可能不会达到您在regexp字符类中所期望的效果:它匹配ASCII代码位于A
和z
之间的所有字符,其中包括所有大小写字母,但也包括一组标点字符:
echo连接(“,preg_grep(“/[A-z]/”,数组映射(“chr”,范围(0255)))。“\n”;
产出:
abcdefghijklmnopqrstuvxyz[\]^`abcdefghijklmnopqrstuvxyz
通过斜杠转义将字符添加到类中。通过斜杠转义将字符添加到类中。