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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Регулярное выражение

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
event
Отправлено: 21 Августа, 2012 - 06:11:56
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Привет, есть такой HTML код:
CODE (text):
скопировать код в буфер обмена
  1. <a href="/level/10/m_act%5Bcountry%5D/8/" >Франция</a>, <a href="/level/10/m_act%5Bcountry%5D/11/" >Великобритания</a>, <a href="/level/10/m_act%5Bcountry%5D/14/" >Италия</a>, <a href="/level/10/m_act%5Bcountry%5D/50/" >Тунис</a>                    </div>
  2.    


Мне нужна регулярка чтобы парсила страны, и на выходе получилось: Франция, Великобритания, Италия, Тунис

Заранее спасибо.
 
 Top
ams
Отправлено: 21 Августа, 2012 - 06:43:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 351
Дата рег-ции: Нояб. 2010  


Помог: 13 раз(а)




#<a href="\/level\/10\/[^>]+>([^<]+)#
 
 Top
event
Отправлено: 21 Августа, 2012 - 07:08:09
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




чего-то не воркает
(Добавление)
Пробую, так-же вот так:
PHP:
скопировать код в буфер обмена
  1. preg_match('#<a href="/level/10/m_act%5Bcountry%5D/[0-9]*/" >(.*?)</a>#s', $html_two, $country);               
  2.  
  3. var_dump($country);
Тоже ничего... Не понял
 
 Top
Stivir
Отправлено: 22 Августа, 2012 - 10:38:05
Post Id


Частый гость


Покинул форум
Сообщений всего: 128
Дата рег-ции: Май 2012  


Помог: 2 раз(а)




event, если Ваша страница не в utf-8, то так:
PHP:
скопировать код в буфер обмена
  1. $rick = '<a href="/level/10/m_act%5Bcountry%5D/8/" >Франция</a>, <a href="/level/10/m_act%5Bcountry%5D/11/" >
  2. Великобритания</a>, <a href="/level/10/m_act%5Bcountry%5D/14/" >Италия</a>,
  3. <a href="/level/10/m_act%5Bcountry%5D/50/" >Тунис</a>';
  4. $needle = "#[а-я]+#i";
  5. preg_match_all($needle, $rick, $matches);
  6. print_r($matches);


может кто-нибудь знает аналог preg_match_all для мультибайтных кодировок?
 
 Top
Bartezz
Отправлено: 22 Августа, 2012 - 10:46:37
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2010  


Помог: 1 раз(а)




#<a href=\"\/level\/10\/m_act\%5Bcountry\%5D\/.+\" >(.+)<\/a>#U

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $html = '<a href="/level/10/m_act%5Bcountry%5D/8/" >Франция</a>, <a href="/level/10/m_act%5Bcountry%5D/11/" >Великобритания</a>, <a href="/level/10/m_act%5Bcountry%5D/14/" >Италия</a>, <a href="/level/10/m_act%5Bcountry%5D/50/" >Тунис</a>';
  3. preg_match_all("#<a href=\"\/level\/10\/m_act\%5Bcountry\%5D\/.+\" >(.+)<\/a>#U", $html, $out);
  4.  
  5. var_dump($out);
  6. ?>


Stivir а если выше этого кода (или ниже) есть еще русскоязычные слова что в итоге получится?

(Отредактировано автором: 22 Августа, 2012 - 11:05:10)

 
 Top
Мелкий Супермодератор
Отправлено: 22 Августа, 2012 - 11:18:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Stivir пишет:
может кто-нибудь знает аналог preg_match_all для мультибайтных кодировок?

Он же. Модификатор u
http://www.php.net/manual/en/ref...rn.modifiers.php


-----
PostgreSQL DBA
 
 Top
Stivir
Отправлено: 22 Августа, 2012 - 16:04:03
Post Id


Частый гость


Покинул форум
Сообщений всего: 128
Дата рег-ции: Май 2012  


Помог: 2 раз(а)




Bartezz при желании можно выдернуть кусок кода из общего хтмл, но в общем Вы правы.
Мелкий благодарю.)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB