| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Замена по маске |
| Автор: rodendron 3.2.2006, 01:31 |
| Всем доброй ночи. Подскажите пожалуйста как произвести следующую замену. Имеется строка. My name is Jack. Ввожу в форму поиска "My name", получаю "<b>My name</b> is Jack.". Ввожу name, получаю "My <b>name</b> is Jack". Так я умею делать с помощью обычной замены. А вот как реализовать следующее - ввожу "name Jack", следовательно получаю: "My <b>name</b> is <b>Jack</b>". То есть когда мне надо заменить фразу в строке, но которая идет не по порядку. Заранее благодарен за помощь в решении данного вопроса. |
| Автор: Ciber SLasH 3.2.2006, 01:46 | ||
|
| Автор: rodendron 7.2.2006, 11:17 |
| Не совсем правильно я так понял... Строка же тоже может динамически меняться, а у тебя зашито My <b>name</b> is <b>. Или я не прав? |
| Автор: Akina 7.2.2006, 11:57 |
| Гм... а кто мешает пошинковать шаблон на слова и выполнить замену несколько раз? "name Jack" -> "name" "Jack" My name is Jack. ("name") -> My <b>name</b> is Jack. My <b>name</b> is Jack. ("Jack") -> My <b>name</b> is <b>Jack</b>. ? |
| Автор: smartov 7.2.2006, 12:02 | ||
Только смотри сразу str_replace заменит все вхождения слова Jack например на <b>Jack</b> Если тебе надо заменить только одно первое или еще как-нить - смотри хелп по функции http://www.php.net/manual/ru/function.str-replace.php или http://ua2.php.net/manual/ru/function.preg-replace.php. |
| Автор: rodendron 7.2.2006, 13:26 |
| smartov Супер! Спасибо огромное! Сейчас осталось только найти функцию замены, нечувствительную к регистру. А это эта регистр не понимает Добавлено @ 13:39 Поставил eregi_replace. Вроде работает. |