Forum Webscript.Ru
Программирование => PHP => Тема начата: Gorets от 27 Февраля 2003, 16:53:46
-
Есть текст в котором встречаются фразы "Матрица" и "Матрица 2: Перезагрузка"
Этот текст обрабатывается следующим образом:
$string=ereg_replace(\'Матрица 2: Перезагрузка\',\'Матрица 2: Перезагрузка\',$string);
$string=ereg_replace(\'Матрица\',\'Матрица\',$string);
Мне надо получить вот такой результат:
Матрица
Матрица 2: Перезагрузка
а получаю вот что:
Матрица 2: Перезагрузка
слово "Матрица" повторно обрабатывается во втором ereg_replace.
Как сделать, что бы текст, если он уже является ссылкой, не обрабатывался повторно?
-
Можно так
$string=ereg_replace(\'Матрица 2: Перезагрузка\',\'Матрица 2: Перезагрузка\',$string);
$string=ereg_replace(\'([^>])Матрица\',\'\\\\1Матрица\',$string);
а можно и так
$string=ereg_replace(\'Матрица 2: Перезагрузка\',\'Матрица 2: Перезагрузка\',$string);
$string=ereg_replace(\'Матрица ([^2])\',\'Матрица \\\\1\',$string);
-
мне надо создать универсальную функцию в которую передается тест и слово, которое надо заменить в этом тексте.
но слово, если оно является текстом ссылки(слово), не должно заменяться.
т.е. во фразе: "продолжение фильма Матрица Матрица 2" заменилось бы только первое слово Матрица