次のように、PHPで最初のWordを検索して別のWordに置き換えたいと思います。
$str="nothing inside";
検索で「nothing」を「something」に置き換え、substr
を使用せずに置き換えます
出力は次のようになります: 'something inside'
preg_replace()
を1の制限で使用します
preg_replace('/nothing/', 'something', $str, 1);
正規表現/nothing/
を検索する文字列に置き換えます。正規表現は常に左から右に評価されるため、これは常に最初のインスタンスに一致します。
str_replaceのmanページ(http://php.net/manual/en/function.str-replace.php)でこの関数を見つけることができます
function str_replace_once($str_pattern, $str_replacement, $string){
if (strpos($string, $str_pattern) !== false){
$occurrence = strpos($string, $str_pattern);
return substr_replace($string, $str_replacement, strpos($string, $str_pattern), strlen($str_pattern));
}
return $string;
}
これを試して
preg_replace('/^[a-zA-Z]\s/', 'ReplacementWord ', $string)
それがすることは、最初から最初の空白まで何でも選択し、それをreplcementWordに置き換えます。 replcementWordの後にスペースがあります。これは、検索文字列に\s
を追加したためです
preg_replace('/nothing/', 'something', $str, 1);