1

これが私がやろうとしていることの例です。

のクエリ文字列を取得していj-doeて、関数がそれを に変更する場合がありJ Doeます。

次に、その文字列を調べて、寂しい文字(名前の頭文字)を検出し、ピリオドを追加して、次のように出力するにはどうすればよいJ. Doeですか?

Henry J Doeこれは、への変更など、文字列内の任意の場所で孤独な文字を検出する必要がありますHenry J. Doe

よろしくお願いします!

編集: 文字列はデータベースからの名前であるため、1 文字の単語について心配する必要はありません。

4

2 に答える 2

2

次のように preg_replace を使用します。

$str = 'Henry J Doe';
$repl = preg_replace('/([A-Z])(?=\s|$)/', '\1.', $str);

ライブデモ: http://ideone.com/gqVKIG

于 2013-04-15T15:25:06.637 に答える
0

これを試して...

$str = 'Henry J Doe';
$newWords = array();
$words = explode(' ', $str);

foreach ($words as $word) {
    if (strlen($word) == 1) {
        $word .= '.';
    }

    $newWords[] = $word;
}

$str = implode(' ', $newWords);
echo $str;
于 2013-04-15T15:24:51.320 に答える