YouTube

Wertos

Пользователь
PHP:
// [youtube]YouTube URL[/youtube] code..
  $patterns[] = '~
        \[youtube\]https?://        # Required scheme. Either http or https.
        (?:[0-9A-Z-]+\.)? # Optional subdomain.
        (?:              # Group host alternatives.
          youtu\.be/      # Either youtu.be,
        | youtube\.com    # or youtube.com followed by
          \S*            # Allow anything up to VIDEO_ID,
          [^\w\-\s]      # but char before ID is non-ID char.
        )                # End host alternatives.
        ([\w\-]{11})      # $1: VIDEO_ID is exactly 11 chars.
        (?=[^\w\-]|$)    # Assert next char is non-ID or EOS.
        (?!              # Assert URL is not pre-linked.
          [?=&+%\w]*      # Allow URL (query) remainder.
          (?:            # Group pre-linked alternatives.
            [\'"][^<>]*>  # Either inside a start tag,
          | </a>          # or inside <a> element text contents.
          )              # End recognized pre-linked alts.
        )                # End negative lookahead assertion.
        [?=&+%\w-]?(.*)\[/youtube\]        # Consume any URL (query) remainder.
        ~ix';
  $replacements[] = $bbcode_tpl['youtube'];
  $text = preg_replace($patterns, $replacements, $text);
Код:
latest short format: http://youtu.be/NLqAF9hrVbY
iframe: http://www.youtube.com/embed/NLqAF9hrVbY
iframe (secure): https://www.youtube.com/embed/NLqAF9hrVbY
object param: http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US
object embed: http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US
watch: http://www.youtube.com/watch?v=NLqAF9hrVbY
users: http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
ytscreeningroom: http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I
any/thing/goes!: http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/2/PPS-8DMrAn4
any/subdomain/too: http://gdata.youtube.com/feeds/api/videos/NLqAF9hrVbY
more params: http://www.youtube.com/watch?v=spDj54kf-vY&feature=g-vrec
Это регулярка для SVN, как у вас я хз...
 

Wertos

Пользователь
Gemini_13, угумс... у них много ссылок... Я сёдня с этими регепсами весь день сношался ! Добавил Vimeo, Rutube, Youtube, Smotri, Mail и Ivi
 

Wertos

Пользователь
Gemini_13, я столкнулся с этим не так давно. Сам делаешь, вроде всё проверил, но найдётся какой нибудь умный юзер который вставит ссылку на видео, которую он не понятно откуда срисовал... приходится извращаться :)
 

Wertos

Пользователь
PHP:
  $patterns[] = '~
        \[youtube\]
        https?://        # Required scheme. Either http or https.
        (?:[0-9A-Z-]+\.)? # Optional subdomain.
        (?:              # Group host alternatives.
          youtu\.be/      # Either youtu.be,
        | youtube\.com    # or youtube.com followed by
          \S*            # Allow anything up to VIDEO_ID,
          [^\w\-\s]      # but char before ID is non-ID char.
        )                # End host alternatives.
        ([\w\-]{11})      # $1: VIDEO_ID is exactly 11 chars.
        (?=[^\w\-]|$)    # Assert next char is non-ID or EOS.
        (?!              # Assert URL is not pre-linked.
          [?=&+%\w]*      # Allow URL (query) remainder.
          (?:            # Group pre-linked alternatives.
            [\'"][^<>]*>  # Either inside a start tag,
          | </a>          # or inside <a> element text contents.
          )              # End recognized pre-linked alts.
        )                # End negative lookahead assertion.
        [?=&+%\w-]?(.*?)? # Consume any URL (query) remainder.
        \[/youtube\]
        ~ix';
fix it !!!
 

Wertos

Пользователь
Didier, да я же для svn пишу... кстати я тут находил кое какие ббкоды... регулярки могу скинуть.
 
Сверху