За последние 24 часа нас посетили 21495 программистов и 1695 роботов. Сейчас ищет 1851 программист ...

Найти все страници сайта

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

  1. joost

    joost Guest

    Вот делаю так
    PHP:
    1. preg_match_all("/<a .* href=http:\/\//$_SERVER['SERVER_NAME']/(.*) .*>isU", $page,$url)
    Может проще как-то можно? И как учесть www (может быть, а может нет) ?
     
  2. TheShock

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

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    (www.)?
     
  3. ildar

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

    С нами с:
    10 июл 2009
    Сообщения:
    2
    Симпатии:
    0
    preg_match_all("/<a .* href=http:\/\/[w\.]*$_SERVER['SERVER_NAME']/(.*) .*>isU", $page,$url)
     
  4. joost

    joost Guest

    как обозначить "может быть http://, а может не быть"
    [http:\/\/]
    еще как?
     
  5. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Код (Text):
    1. (http:\/\/)?
    а вот
    означает совсем другое, а именно один любой символ из этого набора.
     
  6. joost

    joost Guest

    а как обозначить "site.com или ничего"
    пробую так "site\.com|("ничего" не понятно как обозначить)"
    (site\.com)? не подходит ибо может быть site\.ru, а єто не "ничего"

    "ничего" - значит пусто
     
  7. joost

    joost Guest

    а как отобрать все которые без http://
    тоесть надо прописать "нет http://". как обозначить в регулярке ?
     
  8. joost

    joost Guest

    помогите сделать универсальную регулярку для поиска всех внутрених страниц сайта
    я делаю так
    preg_match_all(/<a.*href=\"?(?:http:\/\/)?(?:site.com)?(.*)\"?.*>/isU,$page,$urls);

    вроде все правильно, но работает регулярка не совсем коректно.
    что и где подправить?
     
  9. joost

    joost Guest

    пробовал еще так
    /<a.*href=[\'|\"]{0,1}(.*)[\'|\"]{0,1}.*>/
    тоже не коректно работает

    подскажите как правильно сделать