Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   не работает eregi_replace... (https://forum.antichat.xyz/showthread.php?t=32064)

Alien_z 25.01.2007 21:24

не работает 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;
?>

Выводит: пРиВеТ привет
Помогите плз...

_Great_ 25.01.2007 21:43

а она с массивами работает? я просто не помню

toooto 26.01.2007 03:08

Вот универсальный вариант, $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;
?>


bopoh13 26.01.2007 03:18

[удалено]

Справка:
Цитата:

string eregi_replace(string pattern, string replacement, string string);
* замена регулярного выражения без учета регистра *

Эта функция сканирует string на парные значения к pattern, затем заменяет найденный текст на replacement.
string = строка ;)

toooto 26.01.2007 03:54

bopoh13, ему нужно в строке "пРиВеТ привет" заменить слова "привет", "хеллоу" на "здарова". А у тебя вместо "привет", "хеллоу" только "привет". И зачем тебе массив в строку переводить: $arr = array('пРиВеТ', 'привет'); $str = implode(' ', $arr); ? :)

bopoh13 26.01.2007 06:07

Цитата:

Сообщение от toooto
А у тебя вместо "привет", "хеллоу" только "привет"

Прошу прощенья, был не прав!
Мда... :rolleyes: по сути первый пример Alien_z получился...
ЗЫ: пойду еще мануал почитаю...


Время: 13:23