как обрезать эту строку?

240
01 августа 2017, 18:27

Как обрезать строку чтобы выдавало только "PBcqVio2ado" ?
"https://www.youtube.com/watch?v=PBcqVio2ado"

Answer 1

Так как параметры могут идти в произвольном порядке, лучше воспользоваться двумя функциями 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
Answer 2

Можно так:

 $data = "https://www.youtube.com/watch?v=PBcqVio2ado";
 $temp = explode("=", $data);
 echo $temp[1];
Answer 3

Можно так:

$rest = substr("https://www.youtube.com/watch?v=PBcqVio2ado", -11);
Answer 4

Могут быть два вида ссылок:

$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);   // для второго
READ ALSO
как перейти на GNU parallel?

как перейти на GNU parallel?

как вот это (это команда запускается кроном 1 раз в минуту)

233
Реестр и маршрутизатор на php

Реестр и маршрутизатор на php

Активно осваиваю ООП на phpНашел в интернете примеры реализаций паттерна registry и маршрутизатора router

618
Создание сайта с PHP [требует правки]

Создание сайта с PHP [требует правки]

Я всегда создавал сайты с HTML CSS тд

359