PHP preg_replace/preg_match vs PHP str_replace

2022-08-30 12:03:36

任何人都可以给我一个差异的快速摘要吗?

在我看来,他们都在做同样的事情吗?


答案 1

str_replace替换字符串的特定匹配项,例如“foo”将仅匹配并替换该字符串:“foo”。 将进行正则表达式匹配,例如“/f.{2}/”将匹配并替换“foo”,还可以匹配并替换“fey”,“fir”,“fox”,“f12”等。preg_replace

[编辑]

亲眼看看:

$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:酒吧酒吧

:)


答案 2

str_replace只需将一个固定字符串替换为另一个固定字符串,它将更快。

正则表达式函数允许您搜索并替换为称为正则表达式的非固定模式。正则表达式有许多“风格”,它们大多相似,但某些细节不同;我们在这里谈论的是Perl兼容正则表达式(PCRE)。

如果它们与您看起来相同,则应使用 .str_replace


推荐