[英]Regex expression to allow only characters used for writing articles
我正在寻找一种正则表达式,以允许用于撰写文章的字符,例如:
我最初尝试使用php,如下所示:
preg_replace('/[^a-zA-Z,0-9],.;+- /', ,'', $input)
但是上面的行不起作用
编辑:第二次尝试转义字符以避免弄乱表达式:
preg_replace('/[^a-zA-Z,0-9]\-\.\,\+\*\/\'\´\"\!\#\%\&\/\(\)\=\?\@\£\$\€\{\[\]\}\_\:\;/', '', $input)
preg_replace
函数需要三个参数,而不是两个。 一个正则表达式,替换值,然后是它应该匹配的字符串。
另外,您的正则表达式应在字符类中包含所有字符,否则,您要先匹配该字符类,然后再匹配其后的文字字符(可能不会出现)。 ;+
还允许多个连续的分号,而不是+
因为它不在字符类中且未转义时是量词。
preg_replace('/[^a-zA-Z0-9,.;+-]+/', '', $input)
您可能会使用的另一个正则表达式是:
preg_replace('/[^[:print:]]+/u', '', $input)
这将取代任何非
可见的字符和空格(控制字符除外)
您可以在这里阅读更多内容https://www.regular-expressions.info/posixbrackets.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.