名前のあるデータベースがあり、PHP名前のスペースの後に置き換えます。データの例:
$x="Laura Smith";
$y="John. Smith"
$z="John Doe";
返して欲しい
Laura
John.
John
これを行うと、スペース文字の後のすべてが置き換えられます。ダッシュにも使用できます:
$str=substr($str, 0, strrpos($str, ' '));
それをミックスに加えるために、私は最近このテクニックを学びました:
list($s) = explode(' ',$s);
ただし、これまでstrtokメソッドに出くわしたことがなく、与えられた文字列の例では、strtokはリスト/展開ソリューションよりも25%高速であるため、簡単なベンチマークを実行しました。
また、最初の文字列が長く/区切られているほど、パフォーマンスのギャップが大きくなります。 5000語のブロックを与えると、explodeは5000要素の配列を作成します。 strtokは最初の「要素」を取得し、残りを文字列としてメモリに残します。
だからstrtokが私に勝ちます。
$s = strtok($s,' ');
正規表現を使用する必要はありません。単にexplodeメソッドを使用してください。
$item = explode(" ", $x);
echo $item[0]; //Laura
TheBlackBenzKidが提供するメソッドは質問に対して有効ですが、スペースを含まない引数が提示されると、空白の文字列が返されます。
正規表現は計算コストが高くなりますが、柔軟性が大幅に向上します。例:
function get_first_Word($str)
{
return (preg_match('/(\S)*/', $str, $matches) ? $matches[0] : $str);
}
この回答は、受け入れられた回答の場合のように最後ではなく、最初のスペースの後のすべてを削除します。strpos
とsubstr
を使用します。
$str = "CP hello jldjslf0";
$str = substr($str, 0, strpos( $str, ' '));
echo $str;
あなたもこのようにすることができます
$str = preg_split ('/\s/',$x);
print $str[0];