Просмотр полной версии : не работает eregi_replace...
Вот так работает:
<?php
$strFrom = "привет";
$strTo = "здарова";
$str = "пРиВеТ привет";
$str = eregi_replace($strFrom, $strTo, $str);
echo $str;
?>
Выводит: здарова здарова
А вот так нет:
<?php
$strFrom = array("привет", "хеллоу");
$strTo = "здарова";
$str = "пРиВеТ привет";
$str = eregi_replace($strFrom, $strTo, $str);
echo $str;
?>
Выводит: пРиВеТ привет
Помогите плз...
а она с массивами работает? я просто не помню
Вот универсальный вариант, $strFrom может быть и строкой и массивом:
<?
$strFrom = array("привет", "хеллоу");
$strTo = "здарова";
$str = "пРиВеТ привет приВет апвп хЛлоу";
if(is_array($strFrom)){ while(list($e,$strsFrom)=each($strFrom)) $str = eregi_replace($strsFrom, $strTo, $str); }
else $str = eregi_replace($strFrom, $strTo, $str);
echo $str;
?>
[удалено]
Справка:
string eregi_replace(string pattern, string replacement, string string);
* замена регулярного выражения без учета регистра *
Эта функция сканирует string на парные значения к pattern, затем заменяет найденный текст на replacement. string = строка ;)
bopoh13, ему нужно в строке "пРиВеТ привет" заменить слова "привет", "хеллоу" на "здарова". А у тебя вместо "привет", "хеллоу" только "привет". И зачем тебе массив в строку переводить: $arr = array('пРиВеТ', 'привет'); $str = implode(' ', $arr); ? :)
А у тебя вместо "привет", "хеллоу" только "привет"Прошу прощенья, был не прав!
Мда... :rolleyes: по сути первый пример Alien_z получился...
ЗЫ: пойду еще мануал почитаю...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot