За последние 24 часа нас посетили 17793 программиста и 1654 робота. Сейчас ищут 1935 программистов ...

вытащить массив строк по регулярке с штмл страницы

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

Статус темы:
Закрыта.
  1. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    чо то я туплю не имоверно мне нужно достать все строки из пшп страницы

    Код (Text):
    1. $homepage = file_get_contents('example_homepage.php');
    примерный код страницы

    Код (Text):
    1. <span class="empname11Catalog" ><a class="aaaaaa" href="/users/dslabakov"  title="Денис Слабаков" style="font-size: ;">Денис Слабаков</a> [<a href="/users/dslabakov" class="aaaaaa" title="dslabakov" ><span  >dslabakov</span></a>]</span>
    ну только этих спанов естественно много на этой страницы
    вот с мне нужно из строки
    <span class="empname11Catalog" ><a class="aaaaaa" href="/users/dslabakov"
    вытащить логин
    Точнее уточню таких строк много спанов на странице но логины разные
    Кароче на выходе массив строк с логинами.
    Спасибо )

    Добавлено спустя 7 минут 14 секунд:
    сам себе отвечаю )) preg_match_all()
    Вот к чему приводит осмысление вслух))
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    вы так и не хотите учиться ничему... индетично с примером как http://php.ru/forum/viewtopic.php?f=18&t=44501
     
  3. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Да там целая волокита ну вот так сделал

    Код (Text):
    1. preg_match_all('/(<span class="(\w+)" ><a class="aaaaaa" href="\/users\/)(\w+)(.*)(\r\n)(\s+)(.*)(\r\n)(\s+)(.*)/', $homepage, $matches);
    2.  
    3. for ($i=0; $i< count($matches[0]); $i++) {
    4.   //echo "matched: " . $matches[0][$i] . "\n<br>";
    5.  
    6.   //echo "part 1: ".$i."\n<br>";
    7.   //echo "part 2: " . $matches[2][$i] . "\n<br>";
    8.  //echo "part 3: " . $matches[3][$i] . "\n<br>";
    9. }
    и тащу чо мне надо.Только вот проблема в том что страницу он обрабатывает порядка 8 секунд.
    Точнее скорость нета у меня такая как я посчитал.Если быстрей его тороплю.То он начинает проскальзывать в некоторых местах потом не досчитываю записей.Ну и как бы сказать можно тащить страниц так скажем сто за раз это где то около 40 минут получается.И при этом лучше не юзать нет.А то инфу потеряешь.Кароче не очень удобно ,но базу надыбать можно.
     
  4. Ke1eth

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

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Ох и сказочник, ну раз так написал - терпи.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    а пример постом выше? непробывали? почему именно preg_match_all а не preg_replace?
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Меня такие как ты выскочи больше всего удивляют и сразу же раздражают.
     
  7. Ke1eth

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

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Ох, лол.
    Я знаю самбо, карате, джиу-джицу, и много других страшных слов (c)
     
  8. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    MAN_IFE_ST

    а чем лучше preg_replace.
    я кстати с ней толком и не работал.Только вот использовал в той работе для модального окна где ты подсказал.
    она по моему может ещё маски типо отдавать.Но в отличие от preg_match она ещё и заменяет строку?
     
  9. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Ушу и еще дзюдо и тай... И много чего еще " без правил ".
     
  10. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Your а ты не понял что это прикол был.Видно с юмором совсем туго? )
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты вроде ушел. надолго.
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    вопрос не в том что лучше preg_replace vs preg_match, а для чего, с какой целью.
     
  13. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Молчи. Профисианал.
    Кроме как юмористом тебе больше никем не надо работать.
     
  14. jei

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

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Your я думаю ты доболтался.Игорь скоро тебе влепит бан.Потому что это становится не выносимо.
     
  15. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    [​IMG]
     
Статус темы:
Закрыта.