这是我更新的PHP修复标点符号功能...它现在似乎正常工作。我确信有一些方法可以压缩它,但它可以对字符串进行以下操作...
搜索结果
减少重复的标点符号,如!!至 !
点击
将多个空间减少到单个空格
点击
之前删除任何空格? 。 ,
点击
之后添加空格; :
点击
在逗号后添加空格,但在它们是数字的一部分时不添加
点击
在句点之后添加空格,但不是在它们是数字或缩写的一部分时添加
点击
从字符串的开头和结尾删除空格
点击
大写句子的第一个词
点击
如果是逗号,请将最后一个字符更改为句点
function format_punc($string){
$punctuation = ';:';
$spaced_punc = array(' ?', ' .', ' ,');
$un_spaced_punc = array('?', '.', ',');
$string = preg_replace("/([.,!?;:])+/iS","$1",$string);
$string = preg_replace('/[[:space:]]+/', ' ', $string);
$string = str_replace($spaced_punc, $un_spaced_punc, $string);
$string = preg_replace('/(['.$punctuation.'])[\s]*/', '\1 ', $string);
$string = preg_replace('/(?
$string = preg_replace('/(\.)([[:alpha:]]{2,})/', '$1 $2', $string);
$string = trim($string);
$string = preg_replace('/([\.!\?]\s+|\A)(\w)/e', '"$1" . strtoupper("$2")', $string);
if($string[strlen($string)-1]==','){
$string = substr($string, 0, -1).'.';
}
return $string;
}如果您花时间压缩此代码并创建仍然返回相同结果的内容,请分享!谢谢你,享受!