Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Регулярные выражения
Форумы портала PHP.SU » » Вопросы новичков » Регулярные выражения

Страниц (1): [1]
 

1. Грачи прилетели - 11 Апреля, 2017 - 16:53:25 - перейти к сообщению
Добрый день!

Прошу помощи: Мне надо из строки вырезать все, кроме латинских букв (любой регистр) и цифр. Далее оставить только одиночные пробелы, которые заменить на нижнее подчеркивание. Вот в коде ниже пытаюсь это сделать


PHP:
скопировать код в буфер обмена
  1. $str = "Nad !!   sedoy<< 652 ... ??? > ;  ;   --                --< ravninoy morya";
  2.  
  3. $str = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", '', $str); //удаляю все символы кроме букв и цифр
  4. $str = preg_replace("/  +/"," ",$str); // удаляю множественные пробелы (взял из мануала)
  5.  
  6. $str = str_replace(" ", "_", $str); // меняю пробел на нижнее подчеркивание и получаю фигню
  7.  
  8.  
  9. echo $str;


На выходе получаю
"Nad_sedoy_652_ _ravninoy_morya"


А мне надо, чтобы получилось
"Nad_sedoy_652_ravninoy_morya"

Помогите составить правильно регулярку.

Спасибо!
(Добавление)
всё, решил вопрос
спасибо

 

Powered by ExBB FM 1.0 RC1