PHP preg_replace:从字符串的开头和结尾删除标点符号

Ala*_*air 6 php regex

我可以在PHP中使用什么正则表达式从字符串的开头和结尾删除所有标点符号?

ale*_*lex 6

我不会使用正则表达式,可能像...

$str = trim($str, '"\'');
Run Code Online (Sandbox Code Playgroud)

第二个参数是你定义为标点符号的地方.

假设你真正的意思删除不是字母,数字等的东西,我会选择......

$str = preg_replace('/^\PL+|\PL\z/', '', $str);
Run Code Online (Sandbox Code Playgroud)


Tro*_*ott 6

可能取决于您对标点符号的定义.如果它是"除了字母数字之外的任何东西"或类似的东西,那么正则表达式可能是要走的路.但如果它是"句号,问号和感叹号"或其他一些可管理的列表,这将更容易理解:

trim($string, '?!.');
Run Code Online (Sandbox Code Playgroud)