$str = "hello world, what's up";
如何检查$str
是否有单词“hello”并仅在它位于字符串的开头(前 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”中的“hello”。因为它只替换字符串开头的一个实例,所以 CPU 使用量可以忽略不计。