Всем доброго времени суток! Помогите пожалуйста составить правильное регулярное выражение. Смысл такой: Программка получает список сайтов из базы (MySQL) и в цикле удаляет http://www и всё что идёт после / Это нужно для тог чтобы в последствии подставить доменные имена в код Яндекса, и получить тиц ресурса. Вот моё выражение: Код (Text): preg_match('/[^http:\/\/www\.]([0-9a-zA-Z\.-]*)/', $row['Link'], $cy); вроде всё работает, но в некоторых случаях вместе с точкой удаляется и первая буква доменного имени? если они начинаются на h t p или w, в общем всё что указанно в Код (Text): [^http:\/\/www\.] пробовал писать так Код (Text): [^(http:\/\/www\.)] не помаглао))) В общем… что то я не пойму, если мы берём это всё в скобки Код (Text): (http:\/\/www\.) , и потом ещё в квадратные скобки, и говорим что нам это не надо Код (Text): [^(http:\/\/www\.)] … То что за нах!!! Где ж я не то написал:?
лучшая регулярка это str_replace(); =) в твом случае я бы сделал parse_url и взял оттуда все, что надо http://php.ru/manual/ref.url.html
Атлично! Парни! True Respect!!!))) Но всё же... у меня явная ошибка в написании регулярного выражения... если не сложно объясните... можно лит писать такое [^(text)] я его понимаю так, всё что в скобках, целиком (а не по отдельности каждый симвл) брать не нужно по скольку всё это взято в [^ ]. или я что то путаю:?
правильно. ошибка. ты не тем молотком гвоздь забиваешь. эту задачу рашеют в два этапа. 1. распрсть урл (ссылку дали) 2. из полученного массива получть домен и все, что надо. а регулярками такое делать - себя н уважать
То что я фигнёй занимался, я уже понял) parse_url TRUE STUFF!!! Но просто если есть ошибки, их надо исправлять... регулярные выражения на мой взгляд оч нужная штука! так что я вас мучать не буду, пойду читать маны и факи!))) А то у мну уже столько вопросво накопилось по поводу двух предыдущих мессаг... что можуно уже новую тему создовать! LoL Всем <strong>огромное</strong> спасибо !!! Зановес!