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

SocMaster

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

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

думаю что так должно помочь!
 
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;

думаю что так должно помочь!

Помогло) Спасиб, даже xml удобно парсить так.
Теперь другой вопросик))
***
помогите спарсить эту страницу
Например
  • ТС: SocMaster/ Ответов: 1Клиент под Windows для сайта
$q = "ТС:SocMaster"
$w = Ответов: 1
$e = Клиент под Windows для сайта
 
Последнее редактирование:
Помогло) Спасиб, даже xml удобно парсить так.
Теперь другой вопросик))
Для просмотра ссылки Войди или Зарегистрируйся**
помогите спарсить эту страницу
Например
  • ТС: SocMaster/ Ответов: 1Клиент под Windows для сайта
$q = "ТС:SocMaster"
$w = Ответов: 1
$e = Клиент под Windows для сайта


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 />'; //пример
    }
 
Последнее редактирование модератором:
PHP:
<?php
$content = file_get_contents("api.php.htm");
$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);
 
 
 
 
$match = array();  $matches = array();
preg_match('#<li>(.*)</li>#is', $content, $match);
preg_match_all('#<li><em>(.*)/(.*)</em><span>(.*)</span></li>#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 $q;
    }
Спасибо,поправил под себя! (этот код не работает)
 
я проверял относительно твоего все работает Для просмотра ссылки Войди или Зарегистрируйся - открыл и сохранил локально! тогда надо бы тебе указать ссылку что именно и где надо брать! если есть повторы без фореца не обойтись и обшего прегматча!

Это условия чистки твоего кода была которая по данной ссылки Для просмотра ссылки Войди или Зарегистрируйся
Код:
$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);

Вот а у меня этот код не работает)
Ошибка на 21 строке, а именно вот эта переменная пустая $match[0]
 
Вот а у меня этот код не работает)
Ошибка на 21 строке, а именно вот эта переменная пустая $match[0]


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

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
 
блин реально была допущена ошибочка все поправил

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
Огромнейшие спасибо)
Не подскажите как вывести ссылку к $e то есть к теме
 
Огромнейшие спасибо)
Не подскажите как вывести ссылку к $e то есть к теме


Лови:

Код:
<?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 />'; //пример
    }
 
Я почти всегда использую функцию strstr(), быстро и удобно, хотя предназначение не для этого но все равно находит текст и обрезает текст ( который надо найти ) и до конца.
 
Назад
Сверху