Функции за низове
PHP Manual

str_replace

(PHP 4, PHP 5)

str_replaceЗамества всички срещания на търсения низ със заместващия низ

Описание

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Функцията връща низ или масив с всички срещания на search в subject , заменени със стойността указана чрез replace .

Ако не се нуждаете от сложни правила за замяна е препоръчително да използвате тази функция, вместо ereg_replace() или preg_replace().

Параметри

Ако search и replace са масиви, тогава str_replace() взема стойностите от всеки масив и ги използва за търсене и замяна в subject . Ако replace има по-малко стойности от search , тогава се използва празен низ за останалите стойности за замяна. Ако search е масив, а replace - низ, този низ за замяна се използва за всяка стойност от search . Обратното няма особен смисъл.

Ако параметрите search и replace са масиви, техните елементи ще бъдат обработени от първия към последния.

search

replace

subject

Ако subject е масив, то търсенето и замяната се осъществяват с всеки елемент на subject . Върнатата стойност също е масив.

count

Забележка: Ако този параметър е предаден, то той ще съдържа броя на съвпадащите и заменени знаци.

Връщани стойности

Функцията връща низ или масив със заменените стойности.

Дневник на промените

Версия Описание
5.0.0 Добавен е параметъра count .
4.3.3 Начина на работа на функцията е променен. В по-старите версии имаше дефект при използването на масиви като стойности на search и на replace едновременно, в следствие на което празните индекси на search биват прескачани без да се увеличава вътрешния указател на масива replace . Този дефект е поправен в PHP 4.3.3, така че всички скриптове, които разчитат на него, трябва да премахнат празните стойности за търсене, преди да се извика тази функция с цел да се имитира първоначалното поведение.
4.0.5 Голяма част от параметрите вече могат да са масиви.

Примери

Example #1 Пример за str_replace()

<?php
// Връща: <body text='black'>
$bodytag str_replace("%body%""black""<body text='%body%'>");

// Връща: Hll Wrld f PHP
$vowels = array("a""e""i""o""u""A""E""I""O""U");
$onlyconsonants str_replace($vowels"""Hello World of PHP");

// Връща: You should eat pizza, beer, and ice cream every day
$phrase  "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits""vegetables""fiber");
$yummy   = array("pizza""beer""ice cream");

$newphrase str_replace($healthy$yummy$phrase);

// Параметърът count е достъпен от PHP 5.0.0
$str str_replace("ll""""good golly miss molly!"$count);
echo 
$count// 2

// Последователност на замяната
$str     "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order   = array("\r\n""\n""\r");
$replace '<br />';
// Обработва първо знаците \r\n, за да се избегне двойното преобразуване
$newstr str_replace($order$replace$str);

// Извежда: apearpearle pear
$letters = array('a''p');
$fruit   = array('apple''pear');
$text    'a p';
$output  str_replace($letters$fruit$text);
echo 
$output;
?>

Бележки

Забележка: Тази функция е двоично сигурна (binary-safe).

Забележка: Функцията е чувствителна към регистъра. Използвайте функция str_ireplace() за нечувствителна към регистъра замяна.

Вж. също


Функции за низове
PHP Manual