За последние 24 часа нас посетили 30597 программистов и 1802 робота. Сейчас ищут 790 программистов ...

Извлечение определённых элементов и их вывод

Тема в разделе "PHP для новичков", создана пользователем -Vladimir-, 18 авг 2010.

  1. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    Есть страница http://сайт.ру/страница.htm, в которой находится определённая информация между тегами 1 и 2:

    <тег1>текст 1<тег2>
    <тег1>текст 2<тег2>
    <тег1>текст 3<тег2>
    и тд. - всё в одной странице.

    Как сделать, чтобы вытащить эту инфу оттуда и вывести её отдельно на страницу?
    То есть вывести:
    текст 1
    текст 2
    текст 3
    и тд.

    Что-то знакомое, через preg_match_all, только немного запутался.
    Помогите, пожалуйста!
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Если теги не вложенные, то очень просто.
    Если вложенные, то вариантов много: построение логики, поочередный перебор или использование логики в регулярных выражений со специальными модификаторами.

    Для невложенной:

    Код (Text):
    1. #\<tag1\>(.+?)\<tag2\>#i
     
  3. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    Это понятно, а как потом массив вывести?
     
  4. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    PHP:
    1. <?
    2. $content = "<home>
    3. текст
    4. <end>
    5. 789809898
    6. <home>слово<end>7675464";
    7.  
    8. preg_match_all("#\<home\>(.+?)\<end\>#i",$content,$d);
    9. $v = trim($d[1]);
    10. ?>
    Как всё вывести теперь?[/code]