выделить часть строки

Тема в разделе "PHP", создана пользователем sunyang, 18 май 2011.

Модераторы: latteo
  1. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    444
    Симпатии:
    30
    как из строки, содержащей html-текст найти вхождение строки со значением product information и выделить все, что идет после product information до первого закрывающего тега </p>

    вот:

    ...html код...
    <p>
    <strong>Product Information</strong>
    <br/>
    Product Size: Size
    <br/>
    Bust :70-90CM Length: 80CM
    <br/>
    Material: Cotton
    <br/>
    Lining: None
    <br/>
    Flexible: Yes
    <br/>
    Other accessories: None
    <br/>
    Origin: China
    </p>
    ...html код


    найти и выделить в отдельную строку нужно вот это:

    <strong>Product Information</strong>
    <br/>
    Product Size: Size
    <br/>
    Bust :70-90CM Length: 80CM
    <br/>
    Material: Cotton
    <br/>
    Lining: None
    <br/>
    Flexible: Yes
    <br/>
    Other accessories: None
    <br/>
    Origin: China

    как это можно сделать

    Может быть есть какая функция, которая ищет в троке1 строку2 и возвращает ее?
     
  2. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    // $html - строка содержащая html-текст

    $tmp = stripos($html, '<strong>Product Information');
    $html = substr($html, $tmp);
    $tmp = stripos($html, '</p>');
    $pi1 = substr($html, 0, $tmp-1);

    $html = substr($html, 0, $tmp);
    ну и т.д. :) [только сделать это в цикле и красиво - тут только сама логика]
     
  3. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    а может есть регулярные выражения?
    PHP:
    preg_match('/(<strong>Product Information.*?)<\/p>/is',$html,$match);
    echo 
    $match[1];