且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PHP preg_replace/preg_match与PHP str_replace

更新时间:2022-10-14 17:48:55

str_replace替换特定出现的字符串,例如,"foo"将仅匹配并替换该字符串:"foo". preg_replace将执行正则表达式匹配,例如"/f.{2}/"将匹配并替换"foo",但还将匹配并"fey","fir","fox","f12"等.>

亲自看看:

$string = "foo fighters";
$str_replace = str_replace('foo','bar',$string);
$preg_replace = preg_replace('/f.{2}/','bar',$string);
echo 'str_replace: ' . $str_replace . ', preg_replace: ' . $preg_replace;

输出为:

str_replace:酒吧战士,preg_replace:酒吧战士

:)

Can anyone give me a quick summary of the differences please?

To my mind they both do the same thing?

Thanks

str_replace replaces a specific occurrence of a string, for instance "foo" will only match and replace that: "foo". preg_replace will do regular expression matching, for instance "/f.{2}/" will match and replace "foo", but also "fey", "fir", "fox", "f12", etc.

[EDIT]

See for yourself:

$string = "foo fighters";
$str_replace = str_replace('foo','bar',$string);
$preg_replace = preg_replace('/f.{2}/','bar',$string);
echo 'str_replace: ' . $str_replace . ', preg_replace: ' . $preg_replace;

The output is:

str_replace: bar fighters, preg_replace: bar barhters

:)