在我的生物信息中,用户有时会在不使用适当间距的情况下输入句子,如下所示:
$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';
除了'(来自我)之外,我如何为所有其他标点符号执行此操作?
有什么想法吗?
答案 0 :(得分:0)
您可以将preg_replace与数组一起使用。
首先创建一个替换的数组符号,如:
$signs = array('/,/', '/!/', '/?/');
比另一个带有替换的数组
$replacement = array(', ', '! ', '? ');
现在使用preg_replace的两个数组:
preg_replace($signs, $replacement, $bio);
要确保下一个标志不是whitspace,你可以为每个字符使用更复杂的正则表达式,如下所示:
$signs = array('/,(\S)/', '/!(\S)/', '/?(\S)/');
$replacement = array(', $1', '! $1', '? $1');