PHP preg_replace/preg_match vs PHP str_replace

ben*_*e89 34 php preg-replace preg-match str-replace

任何人都可以快速总结一下差异吗?

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

谢谢

min*_*gos 43

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;
Run Code Online (Sandbox Code Playgroud)

输出是:

str_replace:bar fighters,preg_replace:bar barhters

:)

  • 一个男人的虫子是另一个男人的特征.:) (26认同)
  • 你没有问及优势,而是两者之间的区别:D (16认同)

Jon*_*Jon 14

str_replace 只会用另一个固定的字符串替换一个固定的字符串,它会快得多.

正则表达式函数允许您搜索和替换称为正则表达式非固定模式.正则表达的许多"风味"大多相似但有一定的细节不同; 我们在这里讨论的是Perl兼容正则表达式(PCRE).

如果他们看起来一样,那么你应该使用str_replace.


Mār*_*dis 5

str_replace搜索纯文本出现而preg_replace模式。