Регулярка

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 23 мар 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Уже получилось.
    Сделал не регуляркой.

    Другой вопрос.

    Исходник:
    <a href="javascript:launchArticleSlideshow();"><img
    src="/resources/r/?m=02&d=20100322&t=2&i=79830200&w=155&r=2010-03-22T081236Z_01_AMUE62L0MT100_RTROPTP_0_ORUTP-USA-HEALTHCARE"
    border="0" alt="Photo"
    />

    Регулярка:
    $html=file_get_contents("http://ru.reuters.com/article/topNews/idRUMSE62L07U20100322");
    preg_match ('|<a href="javascript:launchArticleSlideshow()(.*?)<|is',$html,$preg);
    Результат:
    array(3) { [0]=> string(82) "' + arrArticleImages[intIndex] + '<" [1]=> string(0) "" [2]=> string(39) "();">' + arrArticleImages[intIndex] + '" }
    Надо получить содержимое scr="{это}"?
    Если в регулярку добавляю ; то она вообще ничего не парсит.
    Пробовал экранировать - не помогает. ничего не парсить.
    Суть регулярки - она должна спарсить косвенный урл к картинке.
     
  2. Jed7777

    Jed7777 Постоялец

    Регистр.:
    17 июл 2008
    Сообщения:
    136
    Симпатии:
    120
    Вот:
    PHP:
    <?
    $result = <<<HERO
    <a href="javascript:launchArticleSlideshow();"><img
    src="/resources/r/?m=02&d=20100322&t=2&i=79830200&w=155&r=2010-03-22T081236Z_01_AMUE62L0MT100_RTROPTP_0_ORUTP-USA-HEALTHCARE"
    border="0" alt="Photo"
    />
    HERO;
    preg_match('#(?<=src\=\").*(?=\")#',$result,$key);
    for (
    $i=0;$i<count($key);$i++){
      echo 
    $key[$i];
      } 
    ?>
     
  3. bondaf

    bondaf Постоялец

    Регистр.:
    16 мар 2010
    Сообщения:
    85
    Симпатии:
    20
    PHP:
    $string '<a href="javascript:launchArticleSlideshow();">  
    <img src="/resources/r/?m=02&d=20100322&t=2&i=79830200&w=155&r=2010-03-22T081236Z_01_AMUE62L0MT100_RTROPTP_0_ORUTP-USA-HEALTHCARE" border="0" alt="Photo"'

                                                            
    preg_match("/img\ssrc=\"(.*)\"\sborder/"$string$matches);
    $result $matches[1];
     
  4. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Собственно регулярка по примеру:
    PHP:
    <img src="(.+)" border="0" alt="Photo" />
    Собственно код:
    PHP:
    preg_match("#<img src="(.+)" border="0" alt="Photo" />#"$IN$OUT);
    print_r(OUT[1]);
     
  5. bondaf

    bondaf Постоялец

    Регистр.:
    16 мар 2010
    Сообщения:
    85
    Симпатии:
    20
    Абсолютно нерабочий пример, на который PHP будет грязно ругаться)
     
  6. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Не парсит ничего. Кавычки экранировал.

    Добавлено через 5 минут
    Это устраивает, только надо,чтобы регулярка привязывалась к alt="Photo" Имгов с бордерами много на странице, а вот имгов с альтом фото - всего лишь одно.
     
  7. bondaf

    bondaf Постоялец

    Регистр.:
    16 мар 2010
    Сообщения:
    85
    Симпатии:
    20
    Пожалуйста:
    PHP:
    $string '<a href="javascript:launchArticleSlideshow();">  
    <img src="/resources/r/?m=02&d=20100322&t=2&i=79830200&w=155&r=2010-03-22T081236Z_01_AMUE62L0MT100_RTROPTP_0_ORUTP-USA-HEALTHCARE" border="0" alt="Photo"'

    preg_match("/img\ssrc=\"(.*)\"\sborder=\"0\"\salt=\"Photo\"/"$string$matches);
    $result $matches[1];
     
  8. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Не парсит регулярка.
     
  9. bondaf

    bondaf Постоялец

    Регистр.:
    16 мар 2010
    Сообщения:
    85
    Симпатии:
    20
    только что проверил
    из
    Код:
    <a href="javascript:launchArticleSlideshow();">  
    <img src="/resources/r/?m=02&d=20100322&t=2&i=79830200&w=155&r=2010-03-22T081236Z_01_AMUE62L0MT100_RTROPTP_0_ORUTP-USA-HEALTHCARE" border="0" alt="Photo"
    выдает

    Код:
    /resources/r/?m=02&d=20100322&t=2&i=79830200&w=155&r=2010-03-22T081236Z_01_AMUE62L0MT100_RTROPTP_0_ORUTP-USA-HEALTHCARE
    а что у Вас?
     
  10. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    740
    Симпатии:
    226
    Исходник
    <a href="javascript:launchArticleSlideshow();"><img
    src="/resources/r/?m=02&d=20100322&t=2&i=79830200&w=155&r=2010-03-22T081236Z_01_AMUE62L0MT100_RTROPTP_0_ORUTP-USA-HEALTHCARE"
    border="0" alt="Photo"
    />
    На последние символы обратите внимание.
     
Статус темы:
Закрыта.