Автор Тема: Регулярные выражения  (Прочитано 2678 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FILA

  • кендер
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 2
    • Просмотр профиля
Регулярные выражения
« : 31 Июля 2002, 12:22:27 »
Проблема в следующем:
есть некая строка, в которой могут быть пробелы и спецсимволы
какая регулярка должна использоваться в eregi_replace(preg_replace), чтобы заменяла каждый встреченный пробел на пустоту и каждый встреченный спецсимвол на _    ?
заранее благодарен за помощь
И вечный бой, покой нам только снится...

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Регулярные выражения
« Ответ #1 : 31 Июля 2002, 13:08:13 »
Пробел на пустоту:
$str=str_replace(" ", "", $str);
А спец. символ (правда не знаю что есть спец. символ):
preg_replace("/[^\\x20-\\xFF]/","_",@strval($str));
Вроде так.
:confused:
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Регулярные выражения
« Ответ #2 : 31 Июля 2002, 13:38:18 »
Цитировать
preg_replace("/[^\\x20-\\xFF]/","_",@strval($str));

$str preg_replace("![^\\w]!""_"$str);
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн 017

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярные выражения
« Ответ #3 : 31 Июля 2002, 14:02:04 »
Косяк в том, что и мой, и приведенный ниже пример работает когда строка задана явно : $str = "aaaaaaaaaaa;;;". Но вот следующая конструкция всегда выдает FALSE:

$textfile=fopen ("text.csv","r");
   while (!feof($textfile)){
      $str=fgets($textfile, 1024);
      if (ereg ("(^[^\\;]+[\\;]*$)", $str)){
         print "true";}
         else {
         print "false";}
   }
   fclose($textfile);

Текстовый файл text.csv:

Head1;
text1;text2
text3;text4
Head2;
text5;text6
text7;text8


В чем косяк? Все же работает, когда $str задан в коде!

Оффлайн 017

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярные выражения
« Ответ #4 : 31 Июля 2002, 14:05:51 »
Извиняюсь за offtopic. Не туда отправил...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28