我希望从字符串中“修剪”非字母数字,类似于trim()
如何处理空格。
帮助我将#str|ng#
转换为str|ng
。
我可以删除尾随的非字母数字:
$string = preg_replace('/\W+$/', '', $string); // converts `#str|ng#` to `#str|ng`
领先于:
$string = preg_replace('/^\W+/', '', $string); // converts `#str|ng#` to `str|ng#`
但我怎样才能同时完成这两项工作?
答案 0 :(得分:5)
尝试使用这样的模式:
$string = preg_replace('/^\W+|\W+$/', '', $string);
这将替换出现在字符串开头或结尾的任何非单词字符(注意这不包括下划线)。 |
是一个替代,它将匹配任何匹配左侧图案或右侧图案的字符串。
如果您还需要删除下划线,请使用如下字符类:
$string = preg_replace('/^[\W_]+|[\W_]+$/', '', $string);
答案 1 :(得分:1)