在我的生物信息中,用户有时会在没有使用适当间距的情况下输入句子,如下所示:
$bio = 'Hey there,I'm Tom!And I'm 25';
我使用 preg replace 来修复逗号:
$bio = str_replace(",", ", ", $bio);
哪个回声:
$bio = 'Hey there, I'm Tom!And I'm 25';
我如何对除 ' (from I'm) 之外的所有其他标点符号执行此操作?
有任何想法吗?
在我的生物信息中,用户有时会在没有使用适当间距的情况下输入句子,如下所示:
$bio = 'Hey there,I'm Tom!And I'm 25';
我使用 preg replace 来修复逗号:
$bio = str_replace(",", ", ", $bio);
哪个回声:
$bio = 'Hey there, I'm Tom!And I'm 25';
我如何对除 ' (from I'm) 之外的所有其他标点符号执行此操作?
有任何想法吗?
您可以将 preg_replace 与数组一起使用。
首先创建一个数组符号来替换,如:
$signs = array('/,/', '/!/', '/?/');
比另一个有替换的数组
$replacement = array(', ', '! ', '? ');
现在将两个数组与 preg_replace 一起使用:
preg_replace($signs, $replacement, $bio);
为确保下一个符号不是空白,您可以对每个字符使用更复杂的正则表达式,如下所示:
$signs = array('/,(\S)/', '/!(\S)/', '/?(\S)/');
$replacement = array(', $1', '! $1', '? $1');