За последние 24 часа нас посетили 17810 программистов и 1653 робота. Сейчас ищут 1910 программистов ...

Помогите пожалуйста регулярку составить, а то я в них чайник

Тема в разделе "Регулярные выражения", создана пользователем MrEr1c, 4 июл 2013.

  1. MrEr1c

    MrEr1c Новичок

    С нами с:
    4 июл 2013
    Сообщения:
    2
    Симпатии:
    0
    Всем привет! В общем нужна простейшая на мой взгляд регулярка. Она должна из HTML-кода примерно такого содержания:
    Код (Text):
    1. <table cellspacing="0" cellpadding="0" width="100%">Нужный текст 1</table>
    2. <table cellspacing="0" cellpadding="0" width="100%">Нужный текст 2</table>
    3. <table cellspacing="0" cellpadding="0" width="100%">Нужный текст 3</table>
    И мне нужно из него собрать массив примерно такой:
    Код (Text):
    1. $result[1] = "Нужный текст 1";
    2. $result[2] = "Нужный текст 2";
    3. $result[3] = "Нужный текст 3";
    Помогите пожалуйста второй день дурью маюсь, а путнего ничего не выходит.
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    В тегах table не должны находиться тексты. Там могут быть tr, thead и tbody. У тебя там в самом деле текст, или иное содержимое?
    Код (PHP):
    1. $text='<table cellspacing="0" cellpadding="0" width="100%">Нужный текст 1</table>
    2. <table cellspacing="0" cellpadding="0" width="100%">Нужный текст 2</table>
    3. <table cellspacing="0" cellpadding="0" width="100%">Нужный текст 3</table>';
    4.  
    5. $matches = array();
    6. $exp='/<table.*>(.*)<\/table>/Ux';
    7. preg_match_all($exp,$text,$matches);
    8. var_dump($matches);
    В $matches[1] будут твои тексты, только начиная с нулевого индекса.
    Тут принято показывать свой вариант, хоть и не рабочий.
     
  3. MrEr1c

    MrEr1c Новичок

    С нами с:
    4 июл 2013
    Сообщения:
    2
    Симпатии:
    0
    Re: Помогите пожалуйста регулярку составить, а то я в них ча

    Я говорил что я в регулярках чайник, а не в html.
    Их было очень много в итоге я собрал вроде подходящий такой:
    Код (Text):
    1. preg_match_all('!<table cellspacing="0" cellpadding="0" width="100%">(.*?)</table>!si', $text, $result);
    Мну нужно выбрать содержимое таблиц именно с свойствами cellspacing="0" cellpadding="0" width="100%", а не содержимое всех таблиц.