Как обрезать строку чтобы выдавало только "PBcqVio2ado" ?
"https://www.youtube.com/watch?v=PBcqVio2ado"
Так как параметры могут идти в произвольном порядке, лучше воспользоваться двумя функциями parse_url и parse_str.
<?php
function getHashYoutube($url) {
parse_str(parse_url($url, PHP_URL_QUERY), $output);
if (!isset($output['v'])) {
return false;
}
return $output['v'];
}
Пример использования
<?php
echo getHashYoutube('https://www.youtube.com/watch?v=PBcqVio2ado') . "\n"; // PBcqVio2ado
echo getHashYoutube('https://www.youtube.com/watch?v=PBcqVio2ado&feature=youtu.be') . "\n"; // PBcqVio2ado
echo getHashYoutube('https://www.youtube.com/watch?feature=youtu.be&v=PBcqVio2ado') . "\n"; // PBcqVio2ado
echo getHashYoutube('https://www.youtube.com/watch?feature[]=youtu.be&v=PBcqVio2ado') . "\n"; // PBcqVio2ado
Можно так:
$data = "https://www.youtube.com/watch?v=PBcqVio2ado";
$temp = explode("=", $data);
echo $temp[1];
Можно так:
$rest = substr("https://www.youtube.com/watch?v=PBcqVio2ado", -11);
Могут быть два вида ссылок:
$data = "https://www.youtube.com/watch?v=PBcqVio2ado"; // первый вариант
$data2 = "https://youtu.be/PBcqVio2ado"; // Второй вариант
$link1 = substr($data, strpos($data, "v=") + 2); // для первого
$link2 = substr($data, strpos($data, "e/") + 2); // для второго
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Активно осваиваю ООП на phpНашел в интернете примеры реализаций паттерна registry и маршрутизатора router