ユーザー入力をきれいにするために使用される PHP の句読点修正関数をゆっくりと改良しています。この関数は現在、句読点の後にスペースを追加し、句読点の前にスペースを削除し、各文の最初の単語を大文字にします。同様の機能を探している人を何人か見たので、これまでに持っているものを喜んで共有します. それは私が望むところにかなり近いですが、コンマの後にスペースを追加するときは、コンマが1,000などの数字の中にあるときは避けるべきです? 多分私が持っているものを短くする方法がありますが、それでも同じ結果に達しますか? 御時間ありがとうございます...
function format_punc($string){
$punctuation = ',.;:';
$string = str_replace(' ?', '?', str_replace(' .', '.', str_replace(' ,', ',', preg_replace('/(['.$punctuation.'])[\s]*/', '\1 ', $string))));
$string = trim(preg_replace('/[[:space:]]+/', ' ', preg_replace('/([\.!\?]\s+|\A)(\w)/e', '"$1" . strtoupper("$2")', $string)));
if($string[strlen($string)-1]==','){
$string = substr($string, 0, -1).'.';
}
return $string;
}