| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > ereg_replace |
| Автор: burakov 15.9.2009, 10:36 | ||
| Добрый день Задача из строки нужно удалить лишнее пробелы, а затем оставшиеся заменить на подчеркивание Проблема Чего то не работает как надо функция ereg_replace Пример: Пишу регулярку как в перле
Вопрос Почему ereg_replace не понимает мой шаблон "\s+" (один и более пробелов)????? Спасибо. |
| Автор: Ипатьев 15.9.2009, 10:53 |
| может быть в ereg нет вообще такого символьного класса? |
| Автор: brother79 15.9.2009, 10:54 |
| Я вот глянул хелп по этой ф-ии, там есть следующее: Warning This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged. На preg_replace это должно быть так: $str = preg_replace ('/\s+/', "_", $str); В твоём случае должно работать так: $str = ereg_replace ('\s+', "_", $str); или так: $str = ereg_replace ("\\s+", "_", $str); |
| Автор: burakov 15.9.2009, 10:55 |
| Спасибо сейчас попробую!!! Добавлено через 13 минут и 42 секунды получилось с preg_replace Спасибо. |
| Автор: Pfailed 16.9.2009, 09:10 | ||
| В ereg_replace() используются POSIX совместимые регулярные выражения, которые отличаются от perl совместимых. То что вы хотите тут делаетсят так:
|
| Автор: Strilo4ka 22.9.2009, 18:33 | ||
| preg работают в стиле PERL и они мочнее Добавлено через 4 минуты и 44 секунды preg_match(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg(). и всегда надо ставить начало и конец регулярного выражения каким то символовом (не путать с началом и концом данных в регулярном выражении
|