За последние 24 часа нас посетили 19407 программистов и 1643 робота. Сейчас ищут 1774 программиста ...

Нужно вытащить URL из ...

Тема в разделе "Регулярные выражения", создана пользователем sx000, 9 апр 2011.

  1. sx000

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

    С нами с:
    28 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Код (Text):
    1. preg_match_all('/href="([^"]*)/toy.php/',$html,$matches);
    2. var_dump($matches);    
    href=" как заменить кавычку на какой то символ который будет указывать что тут может быть любой символ, так как тут может быть и не быть кавычка а достать надо урл.
     
  2. Crayday

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

    С нами с:
    7 апр 2011
    Сообщения:
    26
    Симпатии:
    0
    Символ косой черты обязательно экранировать, вы этого не сделали. Конкретно в этом случае, когда известно, что заканчивается адрес на "toy.php" подойдёт такой вариант:

    preg_match_all('/href=["\']?(.*?)\/toy.php/',$html,$matches);
     
  3. sx000

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

    С нами с:
    28 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    href=["\'] а вот это место именно интересует именно, допустим если там кавычек не будет? А урл вытащить все равно надо будет. Все ок будет?
     
  4. Crayday

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

    С нами с:
    7 апр 2011
    Сообщения:
    26
    Симпатии:
    0
    Интересующее место выглядит именно так:
    href=["\']?

    ? - означает элемент встречается 0 или 1 раз.
    То есть ["\']? подразумевает одинарную кавычку, двойную или отсутствие символа.

    Так что, да, всё будет ок!
     
  5. sx000

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

    С нами с:
    28 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Спасибо большое