如何使用PHP修剪特殊字符?

如何使用PHP修剪特殊字符?,php,regex,string,Php,Regex,String,从字符串的开头和结尾删除所有非字母数字字符的最佳方法是什么 ~~STRING~~ => STRING "STRING" => STRING **STRING** => STRING **STR**ING** => STR**ING 您可以使用: $repl = preg_replace('#^\W+|\W+$#', '', $str) 您可以使用: $repl = preg_replace('#^\W+|\W+$#', '', $str) trim($string,

从字符串的开头和结尾删除所有非字母数字字符的最佳方法是什么

~~STRING~~ => STRING
"STRING" => STRING
**STRING** => STRING
**STR**ING** => STR**ING
您可以使用:

$repl = preg_replace('#^\W+|\W+$#', '', $str)
您可以使用:

$repl = preg_replace('#^\W+|\W+$#', '', $str)

trim($string,$charlist)

trim($string,$charlist)
应该可以做到这一点

trim()
还有第二个参数,允许您指定要删除的字符是的,很抱歉--我没有仔细阅读。请注意,这不是重复的-请注意技巧性的************
trim()
还有第二个参数,允许您指定要删除的字符是的,很抱歉--我没有仔细阅读。顺便说一句,伪重复顶部。这不是重复的-请注意,从中间删除字符的复杂的************STR*******。
\w
包括
\d
,,因此,您不必在类中同时列出它们。@Barmar:是的,我同意使用
\W
比否定更简洁。这也将它们从中间删除。
\W
包括
\d
,因此,您不必在类中同时列出它们。@Barmar:是的,我同意使用
\W
比否定更简洁。这需要在
$charlist
中列出所有非字母数字字符。需要准备一个非字母数字列表的长列表。这需要在
$charlist
中列出所有非字母数字字符。需要准备一长串非字母数字列表。
$str = preg_replace('/^\W*(.*\w)\W*$/', '$1', $str);