PHP preg_replace / preg_match vs PHP str_replace

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

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

благодаря

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

🙂

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

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

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

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