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 :: Регулярка, preg_match ищем текст между тегами с определенным классом

 PHP.SU

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


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

> Без описания
myocean
Отправлено: 21 Октября, 2017 - 13:41:31
Post Id


Гость


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


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




Здравствуйте, требуется ваша помощь в написание регулярки, нужно вытащить весь текст вместе с тегами которые имеют определенный класс...

например

CODE (html):
скопировать код в буфер обмена
  1. <table class="test">
  2. <tr>
  3. <td>bla bla bla</td>
  4. </tr>
  5. </table>


или

CODE (html):
скопировать код в буфер обмена
  1. <table border="1" class="test">
  2. <tr>
  3. <td>bla bla bla</td>
  4. </tr>
  5. </table>
 
 Top
Vladimir Kheifets
Отправлено: 24 Октября, 2017 - 08:12:22
Post Id



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


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




myocean пишет:
Здравствуйте, требуется ваша помощь в написание регулярки, нужно вытащить весь текст вместе с тегами которые имеют определенный класс...

например

CODE (html):
скопировать код в буфер обмена
  1. <table class="test">
  2. <tr>
  3. <td>bla bla bla</td>
  4. </tr>
  5. </table>


или

CODE (html):
скопировать код в буфер обмена
  1. <table border="1" class="test">
  2. <tr>
  3. <td>bla bla bla</td>
  4. </tr>
  5. </table>

Доброе утро! На вопросы по регулярке Вам может быть ответят другие коллеги.
Покажу как использовать "тяжелую артиллерию” - simplexml_load_String
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $str = <<<EOM
  3. <body>
  4. <table border="1" class="test">
  5. <tr>
  6. <td>bla bla bla</td>
  7. </tr>
  8. </table>
  9. </body>
  10. EOM;
  11.  
  12. $html = simplexml_load_String($str);
  13. foreach($html->children() as $nd)
  14. {
  15.         print "tag: ".$nd->getName()."<br>";
  16.         foreach($nd->attributes() as $a => $b)
  17.         {
  18.         print "attributes: $a=$b<br>";
  19.         if($a=="class" AND $b=="test")
  20.         {
  21.             $nd1=$nd->children();
  22.             foreach($nd1->children() as $nd2)
  23.                         {
  24.                              print "tag: ".$nd2->getName()."<br>";
  25.                              print "value: ".$nd2."<br>";
  26.                         }
  27.         }
  28.         }
  29. }
  30. /*
  31. tag: table
  32. attributes: border=1
  33. attributes: class=test
  34. tag: td
  35. value: bla bla bla
  36. */
  37. ?>
 
 Top
LIME
Отправлено: 24 Октября, 2017 - 12:59:58
Post Id


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


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


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




оох, то есть так буквально да?
ну тогда вот
http://sitear[dot]ru/material/php-pa[dot][dot][dot]-simple-html-dom
 
 Top
deu
Отправлено: 25 Октября, 2017 - 18:57:35
Post Id



Новичок


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. [<.*.*class=\"test\")].*[/.*>]
 
 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