![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Добрый день
Задача из строки нужно удалить лишнее пробелы, а затем оставшиеся заменить на подчеркивание Проблема Чего то не работает как надо функция ereg_replace Пример: Пишу регулярку как в перле
Вопрос Почему ereg_replace не понимает мой шаблон "\s+" (один и более пробелов)????? Спасибо. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
может быть в ereg нет вообще такого символьного класса?
|
|||
|
||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
Я вот глянул хелп по этой ф-ии, там есть следующее:
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 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Спасибо сейчас попробую!!!
Добавлено через 13 минут и 42 секунды получилось с preg_replace Спасибо. Это сообщение отредактировал(а) burakov - 15.9.2009, 10:56 |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 5 Всего: 39 |
В ereg_replace() используются POSIX совместимые регулярные выражения, которые отличаются от perl совместимых.
То что вы хотите тут делаетсят так:
|
|||
|
||||
| Strilo4ka |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 27.2.2009 Репутация: нет Всего: нет |
preg работают в стиле PERL и они мочнее
Добавлено через 4 минуты и 44 секунды preg_match(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg(). и всегда надо ставить начало и конец регулярного выражения каким то символовом (не путать с началом и концом данных в регулярном выражении
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |