Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Странное поведение скриптов из книги Дж.Фридл
 
 автор: vitali   (03.10.2008 в 15:17)   письмо автору
 
 

стр. 240

echo "Контроль за смещеннием текущей позиции";
preg_match_all('%
        (?:^|,)
        (?: # поле в кавычках(внутри допускаются удвоенные кавычки)
            " # Открывающая кавычка
              (?<inwardly> (?: [^"] | "" )* )
            "       # Закрывающая кавычка
            |
            (?<all> [^",]* ) #Все кроме запятых и кавычек ...
        )
        (?=$|,)
%ix', 'маша, ела, кашу, ""ка""шу,, нет кашу,', $out);
echo "<pre>";
print_r($out);
echo 'странно куда делись данные в [inwardly] и ""ка""шу</pre>';

  Ответить  
 
 автор: exp   (05.10.2008 в 00:56)   письмо автору
 
   для: vitali   (03.10.2008 в 15:17)
 

,""ка""шу,
.............
,)(?:"(?<inwardly> (?: [^"]|"")* )"
............
отсчёт начинается с кавычки после запятой , после которой может идти некавычка или ещё две кавычки
следовательно в <inwardly> попадает пустая строка между первыми двумя кавычками т.к. там *
, наверное

прикольно что можно дать названия подмаскам. или я не знал , или ещё и забыл ;)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования