我正在使用正则表达式替换AZ 0-9以外的所有内容。我要补充一点,它不能删除Slash(/),但是无论如何都无法正常工作。我没有发现错误。
谢谢您的帮助!
$string = preg_replace(array('/[^a-zA-Z0-9-]/', '/[ -]+/', '/^-|-$/'), array('', '-', ''), $string);
您需要转义正斜杠。我会尝试[^-a-z0-9\/]+
搜索并替换所有不需要的字符。
$re = "/[^-a-z0-9\\/]+/i";
$str = "asdkf\n43435&\$*k((/\\";
$subst = "";
$result = preg_replace($re, $subst, $str);
这将字符串减少asdkf\n43435&\$*k((/\\
到asdkf43435k/
参见演示https://regex101.com/r/vY2jC7/1
修复:我忘记添加i
修饰符以忽略@ chris85指出的大小写,这将导致忽略大写字母。
参见更新的演示,请参见演示https://regex101.com/r/vY2jC7/2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句