Str_replace - Заменя всички срещания на низа за търсене с низа за заместване. Str_replace - Заменя всички срещания на низа за търсене с низа за заместване Php замества всички знаци

25.10.2021

Сега ще разгледаме една много полезна функция, а именно за замяна на части от низове. Това е функцията str_replace, която е подобна на метода в текстови редактори„Замени“. Прочетете по-долу за това как да го използвате, примери и съвети.

Опции за обаждане

str_replace има три параметъра, всички от които са задължителни.

Str_replace(търсене, замяна, оригинален низ)

  • търсенето е това, което искате да намерите. Това може да бъде низ или масив.
  • замени - всички намерени елементи, които сте посочили при търсене за търсене, ще бъдат заменени с тази стойност. Това отново може да бъде низ или масив.
  • originalString - оригиналният низ, в който ще се извърши търсенето. Функцията НЕ променя входния низ!

Всъщност тук, както във всички предишни уроци, всичко е просто. Нека разгледаме примерния код и всичко веднага ще си дойде на мястото.

Пример за използване на str_replace

И така, имаме входния низ „На рафта има X килограма мандарини.“ Вместо „X“ искаме да заменим желаното число. За да направите това, можете да използвате повторение нещо подобно:

//Въвеждане на низ, който ще използваме като шаблон $rawstring = "Има X килограма мандарини на рафта."; //замяна $str_1 = str_replace("X", "10", $rawstring); //може да се замени с друга стойност, всяка $str_2 = str_replace("X", "135473", $rawstring); echo "Първи път: ". $str_1. "
"; echo "Втори път: ". $str_2;

Получаваме следното:

Първи път: На рафта има 10 килограма мандарини. Втори път: На рафта има 135 473 килограма мандарини.

Примерът, разбира се, не е най-добрият, просто не можах да се сетя за друг, но разбира смисъла, нали? Надявам се, че всичко е ясно, ако не, попитайте в коментарите.

str_replace с масиви: множество замествания в едно

В примера използвахме повторение, за да заменим една дума "X" с нашия низ (число или каквото и да е), но какво ще стане, ако искаме да заменим много думи? Можете да опитате просто да използвате функцията няколко пъти или да създадете масив от думи, КОИТО ще заменим, както и втори масив със стойностите, СЪС КОИТО ще заменим, за да получите резултата с едно извикване на функция.

Нека разширим същия пример, но заменим нещо друго.

//Низ - шаблон $rawstring = "На Z лежи X килограм от избраното Y."; //масив КАКВО ще заменим $placeholders = array("Z", "X", "Y"); //Масив КАКВО ще заменим с $vals_1 = array("shelf", "5", "oranges"); //Е, или това $vals_2 = array("table", "189", "pears"); //замени веднъж $str_1 = str_replace($placeholders, $vals_1, $rawstring); //замяна на две $str_2 = str_replace($placeholders, $vals_2, $rawstring); echo "Едно: ". $str_1. "
"; echo "Две: ". $str_2;

Съответно какво получаваме.

(PHP 4, PHP 5, PHP 7)

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

Описание

Тази функция връща низ или масив с всички повторения на търсене в темата, заменени с replace.

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

Списък с параметри

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

Ако търсенето е масив и replace е низ, тогава този заместващ низ ще се използва за всеки елемент от масива за търсене. Обратният случай няма смисъл.

Ако търсенето или замяната са масиви, техните елементи ще бъдат обработени от първия до последния. Търсена стойност, известна още катоигла

(игла). Можете да използвате масив за множество стойности за търсене.

Сменете

Стойността за заместване ще се използва за заместване на стойностите за търсене. Можете да използвате масив за множество стойности.

Предмет Низът или масивът, върху който се извършва търсене и замяна, известен също катокупа сено

(копа сено).

Ако subject е масив, тогава търсенето и замяната ще бъдат извършени на всеки елемент subject и резултатът от функцията също ще бъде масив.

Ако бъде приет, ще бъде зададен броят на направените замени.

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

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

Примери str_replace()

Пример #1 Примери за използване
// присвоява " );

$bodytag = str_replace ("%body%" , "черно" , "
// присвоява: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");

$onlyconsonants = str_replace($vowels, "", "Здравей свят на PHP");
// присвоява: Трябва да ядете пица, бира и сладолед всеки ден $фраза =;
$healthy = array("плодове" , "зеленчуци" , "фибри" );
$yummy = array("пица" , "бира" , "сладолед" );

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

// присвоява: 2
$str = str_replace ("ll" , "" , "браво госпожице Моли!" , $count );
ехо $брой;
?>

Пример #2 Примери за потенциални трикове с str_replace()

// Поръчка за замяна
$str = "Ред 1\nРед 2\rРед 3\r\nРед 4\n";
$order = array("\r\n" , "\n" , "\r" );
$replace = "
" ;

// Първо обработва \r\n, за да избегне повторното им заместване.
echo $newstr = str_replace ($order, $replace, $str);

// Отпечатва F защото A се заменя с B, след това B с C и така нататък...
// В резултат E ще бъде заменено с F, тъй като замяната се извършва отляво надясно.
$търсене = масив("A" , "B" , "C" , "D" , "E" );
$replace = array("B", "C", "D", "E", "F");
$subject = "A" ;
echo str_replace ($search, $replace, $subject);

// Резултати: applerootrootnut (поради горната причина)
$letters = array("I" , "about" );
$fruit = array("apple" , "nut" );
$text = "Аз съм за" ;
$изход = str_replace($букви, $плод, $текст);
ехо $ изход;
?>

Бележки

Коментирайте: Тази функция е безопасна за обработка на данни в двоична форма.

Предупреждение

Забележка относно процедурата за подмяна

защото str_replace()извършва замяна отляво надясно, след което при използване на множество замени може да замени предварително въведена стойност с друга.

Коментирайте:

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

(PHP 4, PHP 5, PHP 7)

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

Описание

Тази функция връща низ или масив с всички повторения на търсене в темата, заменени с replace.

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

Списък с параметри

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

Ако търсенето е масив и replace е низ, тогава този заместващ низ ще се използва за всеки елемент от масива за търсене. Обратният случай няма смисъл.

Ако търсенето или замяната са масиви, техните елементи ще бъдат обработени от първия до последния. Търсена стойност, известна още катоигла

(игла). Можете да използвате масив за множество стойности за търсене.

Сменете

Стойността за заместване ще се използва за заместване на стойностите за търсене. Можете да използвате масив за множество стойности.

Предмет Низът или масивът, върху който се извършва търсене и замяна, известен също катокупа сено

(копа сено).

Ако subject е масив, тогава търсенето и замяната ще бъдат извършени на всеки елемент subject и резултатът от функцията също ще бъде масив.

Ако бъде приет, ще бъде зададен броят на направените замени.

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

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

Примери str_replace()

Пример #1 Примери за използване
// присвоява " );

$bodytag = str_replace ("%body%" , "черно" , "
// присвоява: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");

$onlyconsonants = str_replace($vowels, "", "Здравей свят на PHP");
// присвоява: Трябва да ядете пица, бира и сладолед всеки ден $фраза =;
$healthy = array("плодове" , "зеленчуци" , "фибри" );
$yummy = array("пица" , "бира" , "сладолед" );

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

// присвоява: 2
$str = str_replace ("ll" , "" , "браво госпожице Моли!" , $count );
ехо $брой;
?>

Пример #2 Примери за потенциални трикове с str_replace()

// Поръчка за замяна
$str = "Ред 1\nРед 2\rРед 3\r\nРед 4\n";
$order = array("\r\n" , "\n" , "\r" );
$replace = "
" ;

// Първо обработва \r\n, за да избегне повторното им заместване.
echo $newstr = str_replace ($order, $replace, $str);

// Отпечатва F защото A се заменя с B, след това B с C и така нататък...
// В резултат E ще бъде заменено с F, тъй като замяната се извършва отляво надясно.
$търсене = масив("A" , "B" , "C" , "D" , "E" );
$replace = array("B", "C", "D", "E", "F");
$subject = "A" ;
echo str_replace ($search, $replace, $subject);

// Резултати: applerootrootnut (поради горната причина)
$letters = array("I" , "about" );
$fruit = array("apple" , "nut" );
$text = "Аз съм за" ;
$изход = str_replace($букви, $плод, $текст);
ехо $ изход;
?>

Бележки

Коментирайте: preg_replace()

Предупреждение

Забележка относно процедурата за подмяна

защото str_replace()извършва замяна отляво надясно, след което при използване на множество замени може да замени предварително въведена стойност с друга.

Коментирайте:

Вижте също примери на тази страница. Тази функция е безопасна за обработка на данни в двоична форма. str_ireplace()