Поиск значения в тексте

Тема в разделе "Как сделать...", создана пользователем SocMaster, 21 июн 2013.

  1. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    Делаю парсинг текста, в тексте есть вот такой код: ... uid="1' ...
    Это идет в скрипте js
    Как вытянуть значения 1?
    Нужно сделать условия если uid < 1
    Помогите плс

    Сам решил.
    Возник другой вопрос))
    Как спарсить <strong class="vwmy"><a href="34567" target="_blank" title="Моя страница">Ник</a></strong>
    с этого слово "Ник"
     
  2. KPACHODAP

    KPACHODAP DELETED

    Регистр.:
    21 дек 2009
    Сообщения:
    639
    Симпатии:
    111
    PHP:
    $content file_get_contents("test.html");
    $content preg_replace('/<strong class=\"vwmy\"><a href=\"(.*?)\" target=\"_blank\" title=\"Моя страница\">(.*?)<\/a><\/strong>/si''$2'$content);
    echo 
    $content;
    думаю что так должно помочь!
     
    SocMaster нравится это.
  3. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    Помогло) Спасиб, даже xml удобно парсить так.
    Теперь другой вопросик))
    ***
    помогите спарсить эту страницу
    Например
    • ТС: SocMaster/ Ответов: 1Клиент под Windows для сайта
    $q = "ТС:SocMaster"
    $w = Ответов: 1
    $e = Клиент под Windows для сайта
     
    Последнее редактирование: 25 сен 2014
  4. KPACHODAP

    KPACHODAP DELETED

    Регистр.:
    21 дек 2009
    Сообщения:
    639
    Симпатии:
    111

    test.html
    Код:
    document.write('<div class="module cl xl xl1">\n<ul><li><em> ТС: <a href="http://one-st.ru/space-uid-1.html">Yarius </a>/ Ответов: 11</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1618" title="Каталог предприятий" target="_blank"><font style="font-weight: 900;color: #2B65B7;">Каталог предприятий</font></a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-1260.html">Brutti </a>/ Ответов: 4</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1697" title="Определить стиль по умолчанию?" target="_blank">Определить стиль по умолчанию?</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-1081.html">zzZWe </a>/ Ответов: 5</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1696" title="китайская ася" target="_blank">китайская ася</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-414.html">pozitive </a>/ Ответов: 21</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=575" title="Сборка городского портала" target="_blank">Сборка городского портала</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-1.html">Yarius </a>/ Ответов: 39</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1678" title="Тестирование Discuz! X3 RUS Beta1" target="_blank"><font style="font-weight: 900;color: #EE1B2E;">Тестирование Discuz! X3 RUS Beta1</font></a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-195.html">SocMaster </a>/ Ответов: 6</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1695" title="Клиент под Windows для сайта" target="_blank">Клиент под Windows для сайта</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-1260.html">Brutti </a>/ Ответов: 9</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1689" title="Gzip On Discuz! ?" target="_blank">Gzip On Discuz! ?</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-195.html">SocMaster </a>/ Ответов: 24</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=851" title="Интеграция Elfchat c Discuz x" target="_blank"><font style="font-weight: 900;color: #EE1B2E;">Интеграция Elfchat c Discuz x</font></a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-2.html">berezatara </a>/ Ответов: 176</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=11" title="Доска объявлений по недвижимости для DiscuzX2" target="_blank"><font style="font-weight: 900;color: #2B65B7;">Доска объявлений по недвижимости для DiscuzX2</font></a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-900.html">seoadd </a>/ Ответов: 3</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1164" title="Бесплатный скрипт доски объявлений Osclass" target="_blank">Бесплатный скрипт доски объявлений Osclass</a></span></ul>\n</div>');
    
    parser.php
    Код:
    <?php
    $content = file_get_contents("test.html");
    $pos = strpos($content, '<li>');
    
      $content = substr($content, $pos);
    
        $pos = strpos($content, '</ul>');
    
        $content = substr($content, 0, $pos);
    
    $content = preg_replace('/<a href=\"(.*?)\">(.*?)<\/a>/si', '$2', $content);
    $content = preg_replace('/<font style=\"(.*?)\">(.*?)<\/font>/si', '$2', $content);
    $content = str_replace('</span>', '</span></li>', $content);
    
    
    
    $match = array();  $matches = array();
    
    preg_match('#<li>(.*)</li>#is', $content, $match);
    preg_match_all('#<em> ТС:(.*)/(.*)</em><span>(.*)</span>#isU', $match[0], $matches);
    
    
        $i = 0;
        foreach($matches[1] as $value)
        {
            $q = $matches[1][$i];
            $w = $matches[2][$i];
            $e = $matches[3][$i];
            $i = $i + 1 ;
            echo 'TC: '.$q.'<br />'; //пример
            echo $w.'<br />'; //пример
            echo $e.'<br />'; //пример
        }
      
    
     
    Последнее редактирование модератором: 25 сен 2014
    SocMaster нравится это.
  5. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    Спасибо,поправил под себя! (этот код не работает)
     
  6. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    Вот а у меня этот код не работает)
    Ошибка на 21 строке, а именно вот эта переменная пустая $match[0]
     
  7. KPACHODAP

    KPACHODAP DELETED

    Регистр.:
    21 дек 2009
    Сообщения:
    639
    Симпатии:
    111

    блин реально была допущена ошибочка все поправил

    test.html
    Код:
    document.write('<div class="module cl xl xl1">\n<ul><li><em> ТС: <a href="http://one-st.ru/space-uid-1.html">Yarius </a>/ Ответов: 11</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1618" title="Каталог предприятий" target="_blank"><font style="font-weight: 900;color: #2B65B7;">Каталог предприятий</font></a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-1260.html">Brutti </a>/ Ответов: 4</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1697" title="Определить стиль по умолчанию?" target="_blank">Определить стиль по умолчанию?</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-1081.html">zzZWe </a>/ Ответов: 5</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1696" title="китайская ася" target="_blank">китайская ася</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-414.html">pozitive </a>/ Ответов: 21</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=575" title="Сборка городского портала" target="_blank">Сборка городского портала</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-1.html">Yarius </a>/ Ответов: 39</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1678" title="Тестирование Discuz! X3 RUS Beta1" target="_blank"><font style="font-weight: 900;color: #EE1B2E;">Тестирование Discuz! X3 RUS Beta1</font></a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-195.html">SocMaster </a>/ Ответов: 6</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1695" title="Клиент под Windows для сайта" target="_blank">Клиент под Windows для сайта</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-1260.html">Brutti </a>/ Ответов: 9</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1689" title="Gzip On Discuz! ?" target="_blank">Gzip On Discuz! ?</a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-195.html">SocMaster </a>/ Ответов: 24</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=851" title="Интеграция Elfchat c Discuz x" target="_blank"><font style="font-weight: 900;color: #EE1B2E;">Интеграция Elfchat c Discuz x</font></a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-2.html">berezatara </a>/ Ответов: 176</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=11" title="Доска объявлений по недвижимости для DiscuzX2" target="_blank"><font style="font-weight: 900;color: #2B65B7;">Доска объявлений по недвижимости для DiscuzX2</font></a></span><li><em> ТС: <a href="http://one-st.ru/space-uid-900.html">seoadd </a>/ Ответов: 3</em><span><a href="http://one-st.ru/forum.php?mod=viewthread&tid=1164" title="Бесплатный скрипт доски объявлений Osclass" target="_blank">Бесплатный скрипт доски объявлений Osclass</a></span></ul>\n</div>');
    
    parser.php
    Код:
    <?php
    $content = file_get_contents("test.html");
    $pos = strpos($content, '<li>');
     
      $content = substr($content, $pos);
     
        $pos = strpos($content, '</ul>');
     
        $content = substr($content, 0, $pos);
     
    $content = preg_replace('/<a href=\"(.*?)\">(.*?)<\/a>/si', '$2', $content);
    $content = preg_replace('/<font style=\"(.*?)\">(.*?)<\/font>/si', '$2', $content);
    $content = str_replace('</span>', '</span></li>', $content);
     
     
     
    $match = array();  $matches = array();
     
    preg_match('#<li>(.*)</li>#is', $content, $match);
    preg_match_all('#<em> ТС:(.*)/(.*)</em><span>(.*)</span>#isU', $match[0], $matches);
     
     
        $i = 0;
        foreach($matches[1] as $value)
        {
            $q = $matches[1][$i];
            $w = $matches[2][$i];
            $e = $matches[3][$i];
            $i = $i + 1 ;
            echo 'TC: '.$q.'<br />'; //пример
            echo $w.'<br />'; //пример
            echo $e.'<br />'; //пример
        }
     
    
    результат:
    Код:
    TC: Yarius 
    Ответов: 11
    Каталог предприятий
    TC: Brutti 
    Ответов: 4
    Определить стиль по умолчанию?
    TC: zzZWe 
    Ответов: 5
    китайская ася
    TC: pozitive 
    Ответов: 21
    Сборка городского портала
    TC: Yarius 
    Ответов: 39
    Тестирование Discuz! X3 RUS Beta1
    TC: SocMaster 
    Ответов: 6
    Клиент под Windows для сайта
    TC: Brutti 
    Ответов: 9
    Gzip On Discuz! ?
    TC: SocMaster 
    Ответов: 24
    Интеграция Elfchat c Discuz x
    TC: berezatara 
    Ответов: 176
    Доска объявлений по недвижимости для DiscuzX2
    TC: seoadd 
    Ответов: 3
    Бесплатный скрипт доски объявлений Osclass
    
     
    SocMaster нравится это.
  8. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    Огромнейшие спасибо)
    Не подскажите как вывести ссылку к $e то есть к теме
     
  9. KPACHODAP

    KPACHODAP DELETED

    Регистр.:
    21 дек 2009
    Сообщения:
    639
    Симпатии:
    111

    Лови:

    Код:
    <?php
    $content = file_get_contents("test.html");
    $pos = strpos($content, '<li>');
     
      $content = substr($content, $pos);
     
        $pos = strpos($content, '</ul>');
     
        $content = substr($content, 0, $pos);
     
    //$content = preg_replace('/<a href=\"(.*?)\">(.*?)<\/a>/si', '$2', $content);
    $content = preg_replace('/<font style=\"(.*?)\">(.*?)<\/font>/si', '$2', $content);
    //$content = preg_replace('/<a href=\"(.*?)\">(.*?)<\/a>/si', '<b>$1</b> <i>$2</i>', $content);
     
    $content = str_replace('</span>', '</span></li>', $content);
     
    //echo $content;
     
     
     
    $match = array();  $matches = array();
     
    preg_match('#<li>(.*)</li>#is', $content, $match);
    preg_match_all('#<li><em> ТС: <a href="(.*)">(.*)</a>/(.*)</em><span><a href="(.*)" title="(.*)" target="_blank">(.*)</a></span></li>#isU', $match[0], $matches);
     
     
        $i = 0;
        foreach($matches[1] as $value)
        {
            $lprof = $matches[1][$i];
            $q = $matches[2][$i];
            $w = $matches[3][$i];
            $lpost = $matches[4][$i];
            $e = $matches[6][$i];
            $i = $i + 1 ;
            echo 'TC: '.$q.'<br />'; //пример
            echo $w.'<br />'; //пример
            echo $e.'<br />'; //пример
            echo 'Ссылка на профиль: '.$lprof.'<br />'; //пример
            echo 'Ссылка на тему: '.$lpost.'<br />'; //пример
        }
        
     
    SocMaster нравится это.
  10. olimpset

    olimpset Писатель

    Регистр.:
    25 дек 2012
    Сообщения:
    9
    Симпатии:
    0
    Я почти всегда использую функцию strstr(), быстро и удобно, хотя предназначение не для этого но все равно находит текст и обрезает текст ( который надо найти ) и до конца.