Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ereg_replace, не могу удалить пробелы 
V
    Опции темы
burakov
Дата 15.9.2009, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Добрый день 

Задача 
из строки нужно удалить лишнее пробелы, а затем оставшиеся заменить на подчеркивание

Проблема
Чего то не работает как надо функция ereg_replace

Пример:
Пишу регулярку как в перле

Код

$str = ereg_replace ("\s+", "_", $str); 


Вопрос
Почему ereg_replace не понимает мой шаблон "\s+" (один и более пробелов)?????

Спасибо.


--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
Ипатьев
Дата 15.9.2009, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



может быть в ereg нет вообще такого символьного класса?
PM MAIL   Вверх
brother79
Дата 15.9.2009, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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); 


--------------------
PM MAIL WWW   Вверх
burakov
Дата 15.9.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Спасибо сейчас попробую!!!

Добавлено через 13 минут и 42 секунды
получилось с preg_replace
Спасибо.

Это сообщение отредактировал(а) burakov - 15.9.2009, 10:56


--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
Pfailed
Дата 16.9.2009, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 5
Всего: 39



В ereg_replace() используются POSIX совместимые регулярные выражения, которые отличаются от perl совместимых.
То что вы хотите тут делаетсят так:
Код

ereg_replace("[[:space:]]", "", "1 2 3 4 5");




--------------------
PM MAIL   Вверх
Strilo4ka
Дата 22.9.2009, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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(). 

и всегда надо ставить начало и конец регулярного выражения каким то символовом (не путать с началом и концом данных в регулярном выражении 
Код
^ $
 )
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.