![](/img/trans.png)
[英]PHP preg_replace - in case of match remove the beginning and end of the string partly matched by regex with one call?
[英]PHP preg_replace: remove punctuation from beginning and end of string
我可以在PHP中使用什么正则表达式删除字符串开头和结尾的所有标点符号?
我不会使用正则表达式,大概是...
$str = trim($str, '"\'');
第二个参数是您定义为标点符号的位置 。
假设您真正的意思是剔除不是字母,数字等的内容 ,那么我会选择...
$str = preg_replace('/^\PL+|\PL\z/', '', $str);
可能取决于您对标点符号的定义。 如果它是“字母数字以外的任何东西”或类似的东西,那么正则表达式可能是可行的方法。 但是,如果它是“句号,问号和感叹号”或其他一些可管理的列表,则将更容易理解:
trim($string, '?!.');
这取决于您所说的标点符号,但是:
preg_replace('/^\W*(.+?)\W*$/', '$1', $source);
只保留字母数字字符
preg_replace('/[^a-z0-9]+/i', '', $string);
对于所有的动作:
preg_replace('[:punct:]+', '', $string);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.