我正在尝试删除所有特殊字符,例如
()[] {}〜`@#$%^&* _ + = / |。,،;:?؟> <
但是此代码将删除所有规范字符加非英语字符,我只希望删除非英语字符。我的意思是只接受英语+非英语,但不接受特殊字符。
preg_replace("/[^A-Za-z0-9\-]/", "-", $_REQUEST["title"]);
使用unicode属性:
preg_replace("/[^\p{L}\p{N}]/u", "-", $_REQUEST["title"]);
这将用破折号代替不是字母也不是数字的任何字符。
根据评论编辑:
$regex = array('/[^\p{L}\p{N}\s]/u', '/\s/');
$repl = array('', '-');
preg_replace($regex, $repl, $_REQUEST["title"]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句