Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Проблемы с функцией StringRegExpReplace, требуется вывод первого вхождения в функцию (http://forum.oszone.net/showthread.php?t=163051)

dasksting 10-01-2010 23:46 1316752

Проблемы с функцией StringRegExpReplace, требуется вывод первого вхождения в функцию
 
Доброй ночи ! столкнулся с проблемой, для меня очень актуальной! Суть :

пишу парсер последнего статуса с твитера

Код:

$rss = _INetGetSource ("https://twitter.com/dasksting") ; читаем HTML код с нужной страницы твитера

$pattern = '(?s).*<span class="entry-content">(.*?)</span?.*'; патерн для парсинга
$sVar = StringRegExpReplace($rss, $pattern, "\1") ; загнали в переменную статус

ConsoleWrite($sVar & @CRLF)

ННООО!!! в консоль почему-то выводится не первый твит а последний.. перерыл уже массу литры, часа 4 уже сижу, голова квадратная!!! Народ помогите пожалуйста, как сделать чтобы эта штука выводила первый твит. Я думаю что дело в патерне, но как его составить корректо не понимаю. В исходном коде твиттера повторяются строчки которые ищутся в патерне, такое ощущение что он сравнивает правильно но выводит все равно последний. Вся надеда на вас ребята, Заранее ОГРОМНОЕ СПАСИБО!!!

вот кусок из твиттера который повторяется, но сообщения и некоторые параметры и айдишники индивидуальные :

HTML код:

<li class="hentry u status latest-status" id="status_7559526031">
    <span class="status-body">
            <span class="entry-content">Здесь мое сообщение</span>
        <span class="meta entry-meta">
      <a class="entry-date" rel="bookmark" href="https://twitter.com/dasksting/status/7559526031">
        <span class="published timestamp" data="{time:'Sat Jan 09 15:22:43 +0000 2010'}">7:22 AM Jan 9th</span>
      </a>
      <span>from <a href="http://www.seesmic.com/" rel="nofollow">Seesmic</a></span>     
          </span>
      </span>
</li>

еще раз Заранее спасибо!!!

asdf8 11-01-2010 00:01 1316760

Попробуй так:

$pattern = '(?s).*?<span class="entry-content">(.*?)</span?.*'; патерн для парсинга

dasksting 11-01-2010 00:10 1316768

обалдеть!!!!!!!!!!!!!! РАБОТАЕТ!!!!!!!!!!!!! УРАА !!! Спасибо милый человек тебе!!!!!!!! дело блин было в одном символе почти :)))) СПАСИБО ЕЩЕ РАЗ!!!!!!!!!!

ps: а можно еще один вопросик...

допустим код HTML имеет такю запись :

HTML код:

<input type='hidden' id='activityhash'
как мне экранировать кавычки одинарные ??? :)

Creat0R 11-01-2010 00:27 1316777

Цитата:

Цитата dasksting
а можно еще один вопросик »

Нельзя.

Вам предупреждение за нарушение общих правил (п. 2.7)...

Цитата:

В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема). Темы с несодержательными или слишком общими заголовками будут закрываться или переноситься в раздел "Зона тестирования" в зависимости от политики конкретного форума.
Жду переименования.


Время: 11:08.

Время: 11:08.
© OSzone.net 2001-