Подтвердить что ты не робот

PHP preg_replace/preg_match vs PHP str_replace

Может ли кто-нибудь дать мне краткое изложение различий, пожалуйста?

На мой взгляд, они оба делают одно и то же?

Спасибо

4b9b3361

Ответ 1

str_replace заменяет определенное вхождение строки, например, "foo" будет соответствовать и заменять это: "foo" . preg_replace будет выполнять регулярное выражение, например, "/f.{2}/" будет соответствовать и заменять "foo" , но также "fey", "fir", "fox", "f12" и т.д.

[EDIT]

Смотрите сами:

$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: bar barhters

:)

Ответ 2

str_replace просто заменит фиксированную строку другой фиксированной строкой, и она будет намного быстрее.

Функции регулярных выражений позволяют вам искать и заменять нефиксированный шаблон, называемый регулярным выражением . Существует много" ароматов "регулярного выражения, которые в основном сходны, но имеют некоторые особенности; то, о котором мы говорим, это Perl Compatible Regular Expressions ( PCRE).

Если они выглядят одинаково для вас, вы должны использовать str_replace.

Ответ 3

str_replace ищет чисто текстовые вхождения, а preg_replace - для шаблонов.