For coders TYPO3 Tech Corner

[PHP] Extract YouTube Code from a given URL

[PHP] Extract YouTube Code from a given URL

<?php namespace In2code\In2template\Migration\Utility; /** * Class StringUtility */ class StringUtility { /** * Parse every kind of Youtube URI and return video code * * Example URI: * <a href="http://www.youtube.com/embed/6FjfewWAGdE?feature=player_detailpage" target="_blank" rel="noreferrer">www.youtube.com/embed/6FjfewWAGdE</a> * <a href="http://www.youtube.com/embed/6FjfewWAGdE?feature=player_detailpage" target="_blank" rel="noreferrer">www.youtube.com/embed/6FjfewWAGdE</a> * <a href="https://www.youtube.com/embed/6FjfewWAGdE" target="_blank" rel="noreferrer">www.youtube.com/embed/6FjfewWAGdE</a> * <a href="https://youtube.com/embed/6FjfewWAGdE" target="_blank" rel="noreferrer">youtube.com/embed/6FjfewWAGdE</a> * <a href="https://www.youtube-nocookie.com/embed/6FjfewWAGdE" target="_blank" rel="noreferrer">www.youtube-nocookie.com/embed/6FjfewWAGdE</a> * <a href="http://www.youtube.com/watch?v=6FjfewWAGdE" target="_blank" rel="noreferrer">www.youtube.com/watch</a> * <a href="http://www.youtube.com/watch?v=6FjfewWAGdE&amp;feature=player_detailpage" target="_blank" rel="noreferrer">www.youtube.com/watch</a> * www.youtu.be/6FjfewWAGdE * youtu.be/6FjfewWAGdE * youtube.com/watch?v=6FjfewWAGdE * <a href="https://www.youtube.com/watch?v=6FjfewWAGdE&amp;feature=youtu.be" target="_blank" rel="noreferrer">www.youtube.com/watch</a> * * @param string $uri * @return string */ public static function getYoutubeCodeFromUri(string $uri): string { $code = ''; $regExp = '~^(http://|https://|.*?)(www.|.*?)(youtube.com|youtu.be|youtube-nocookie.com)/(embed/|watch\?v=|.*?)(.*?)(\?|\&|$)~'; preg_match($regExp, $uri, $result); if (!empty($result[5])) { $code = $result[5]; } return $code; } }

Back

"Code faster, look at the time" - does this sound familiar to you?

How about time and respect for code quality? Working in a team? Automated tests?

Join us