2016-12-03 8 views
0

Я хочу извлечь определенные ссылки с веб-сайта.извлечение конкретных ссылок с веб-сайта в php

Звенья выглядеть:

/topic/Funny/G1pdeJm 

Ссылки всегда одинаковы - за исключением последних случайных символов.

я получаю трудное время, чтобы объединить эти части

(preg_match("/^http:\/\//i",$str) || is_file($str)) 

и

(preg_match("/Funny(.*)/", $str) || is_file($str)) 

первый код экстракт каждые ссылки второй отрывок из ссылки только/тема/Смешные/* часть.

несчастию я не могу объединить их, и я хочу, чтобы блокировать эти теги:

/topic/Funny/viral 
/topic/Funny/time 
/topic/Funny/top 
/topic/Funny/top/week 
/topic/Funny/top/month 
/topic/Funny/top/year 
/topic/Funny/top/all 

Любые идеи?

Спасибо, ЧИМ

ответ

1

вы можете попробовать использовать отрицательные lookaheads «отфильтровать» URL, вам не нравится:

.*\/Funny\/(?!viral|time|top\/week|top\/month|top\/year|top\/all|top(\n|$)).* 

demo here

+0

Я думаю, что это будет хорошо, если вы поставите он внутри 'preg_match', поэтому OP поймет использование этого регулярного выражения :) – Dekel

+0

честно, я парень-регек, а не парень PHP, или я бы это сделал :) – sweaver2112

+0

thx a ton! Это регулярное выражение кажется идеальным :), но, к сожалению, поскольку @Dekel сказал, что я не могу заставить его работать в моем скрипте: / – chim

 Смежные вопросы

  • Нет связанных вопросов^_^