我希望从字符串中“修剪”非字母数字,类似于 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#`
但是我怎样才能同时完成这两者呢?
最佳答案
尝试使用 ^\W+|\W+$
模式,如下所示:
$string = preg_replace('/^\W+|\W+$/', '', $string);
这将替换出现在字符串开头或结尾的任何非字母数字字符(注意这不包括下划线)。 |
是一个替换,它将匹配任何匹配左侧模式或右侧模式的字符串。 ^
匹配链的开头。
如果您还需要删除下划线,请使用如下字符类:
$string = preg_replace('/^[\W_]+|[\W_]+$/', '', $string);
关于php - 如何删除前导和尾随非字母数字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21871280/