За последние 24 часа нас посетил 21471 программист и 1695 роботов. Сейчас ищут 1906 программистов ...

помогите вырезать текст из сайта

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

  1. sl_play

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

    С нами с:
    30 июн 2009
    Сообщения:
    4
    Симпатии:
    0
    помогите вырезать статью скриптом с этого сайта, очень буду благодарен
    http://korrespondent.net/kyiv/883252
    только текст статьи, без заголовка.
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ctrl + C -> Ctrl + V :)
     
  3. sl_play

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

    С нами с:
    30 июн 2009
    Сообщения:
    4
    Симпатии:
    0
    всё дело в том, что сам представляю как это сделать
    вот код статьи <span style="font-size:1.2em;" id="0097f">статья</span

    $sSource=file_get_contents($file);
    $pat='/<span.*id=\"00.*>.*<\/span>/U';
    preg_match_all($pat, $sSource, $match);

    for( $i = 0; $i < count( $match[0] ); $i++ ){
    echo $match[0][$i]."<hr>\n\r";
    }

    посмотрите, я получаю много слоев спан этим кодом, но опчему-то без нужного
     
  4. TheShock

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

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    Код (Text):
    1. id=\"00.*>
    а где вторая кавычка?

    у меня он, кстати, выглядит так:

    Код (Text):
    1. <span id="0097f" style="font-size: 1.2em;">
    кстати, что если заменить .* на .*?
     
  5. sl_play

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

    С нами с:
    30 июн 2009
    Сообщения:
    4
    Симпатии:
    0
    добавил кавычки
    у меня <span style="font-size:1.2em;" id="0097f">
    всё равно что-то не работает.. протестируйте пожалуйста!
     
  6. TheShock

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

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
     
  7. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ребят, всё делается очень просто:

    PHP:
    1. <?
    2.  
    3. $pattern = '/(?<=<span style="font-size:1\.2em;" id="(?:.{5})">)(.+?)(?=<\/span>)/s';
    4.  
    5. if(preg_match($pattern, file_get_contents('http://korrespondent.net/kyiv/883252'), $text)) {
    6.     echo $text[1];
    7. } else {
    8.     echo "Не удалось распознать структуру текста";
    9. }
    10.  
    11. ?>