我可以在PHP中使用哪些正则表达式从字符串的开头和结尾删除所有标点符号?
答案 0 :(得分:6)
我不会使用正则表达式,可能类似......
$str = trim($str, '"\'');
第二个参数是你定义的标点符号。
假设真正意味着什么是删除不是字母,数字等的东西,我会选择......
$str = preg_replace('/^\PL+|\PL\z/', '', $str);
答案 1 :(得分:6)
可能取决于您对标点符号的定义。如果它是“除了字母数字之外的任何东西”或类似的东西,那么正则表达式可能是要走的路。但如果它是“句号,问号和感叹号”或其他一些可管理的列表,这将更容易理解:
trim($string, '?!.');
答案 2 :(得分:3)
这取决于你所说的标点符号,但是:
preg_replace('/^\W*(.+?)\W*$/', '$1', $source);
答案 3 :(得分:0)
仅保留字母数字字符
preg_replace('/[^a-z0-9]+/i', '', $string);
所有ponctuations:
preg_replace('[:punct:]+', '', $string);