Как исключить некоторые домены из шаблона URL? - PullRequest
1 голос
/ 19 июля 2011

Я пытаюсь получить онлайн-видео и его описания. YouTube и некоторые другие, которые обеспечивают доступ к API, работают нормально. Для остальной части сайта я буду использовать oEmbed. Итак, для YouTube, если шаблон соответствует этому:

/^http:\/\/(www\.)?youtube.com\/watch/

тогда он будет использовать "yt custom service" для извлечения контента.

Для остальной части сайта будет использоваться сервис oEmbed:

preg_match_all('`.*?((http|https)://[\w#$&+,\/:;=?@.-]+)[^\w#$&+,\/:;=?@.-]*?`i', $content, $matches);

Итак, как я могу исключить youtube и несколько других из этого шаблона match_all?

1 Ответ

0 голосов
/ 24 ноября 2011

Как сказал @Dan, лучший способ - использовать предложение if, другой способ записать его:

if (strpos($url, 'youtube.com')===false) {
// use "yt custom service"
} else {
// use "oEmbed"
}

Предлагаю избегать регулярных выражений, когда в этом нет необходимости. Иногда они только добавляют сложности.

...