$str = "hello world, what's up";
「こんにちは」という単語があるかどうかを確認$str
し、それが文字列の先頭 (最初の 5 文字) にある場合にのみ削除するにはどうすればよいですか?
^
i
@Havenard のコメントに従って、文字列の先頭と、大文字と小文字を区別しない一致のフラグを示します。
preg_replace('/^hello/i', '', $str);
より高速なsubstr
を使用できます。 preg_replace
$str = "hello world, what's up?";
$pre = "hello ";
if(substr($str, 0, strlen($pre)) === $pre)
$str = substr($str, strlen($pre));
echo $str; // world, what's up?
preg_replace('/^hello\b/U', '', $str);
これは、'hello world' の 'hello' を置き換えますが、'helloworld' では置き換えません。文字列の先頭にあるインスタンスを 1 つだけ置き換えているため、CPU の使用量はごくわずかです。