jQuery:从字符串获取所有YouTube链接



我想在字符串中获得youtube链接示例

"嗨,您如何检查https://www.youtube.com/watch?v=r_p8zxirfji";

然后我得到链接

https://www.youtube.com/watch?v=r_p8zxirfji

获得链接后,我想从字符串删除该链接

对于所有YouTube URL

使用@aampudia答案,从php的字符串中提取url,您可以获取URL并像

一样对其进行解析。
<?php
    $pattern='#bhttps?://[^,s()<>]+(?:([wd]+)|([^,[:punct:]s]|/))#';
    $str="hi how are you check it https://www.youtube.com/watch?v=r_p8ZXIRFJI";
    preg_match_all($pattern, $str, $match);
    // if there are multiple urls then use loop here
    print_r($match[0]);
    echo '<br/>';
    // otherwise just use 
    echo isset($match[0][0]) ? $match[0][0] : 'No url found';
    // and to replace string use
    echo '<br/>';
    echo strpos($match[0][0],'.youtube.') ? str_replace($match[0][0],'',$str) : 'No youtube url'; // let $match[0][0] is defined and not null
?>

phpfiddle

在这里我们使用regular expression从字符串中提取YouTube链接。

REGEX: (?:https?://)(?:www.)?(?:youtube|youtu).(?:be|com)/[^s]+

尝试REGEX DEMO

注意: youtube链接可以是此格式,也可以https://youtu.be/_3tvl-zac4k

示例字符串: 嗨,您如何检查https://www.youtube.com/watch?v=r_p8zxirfji youtube youtube链接可以是此类型https://youtu。BE/_3TVL-ZAC4K

尝试此代码段

<?php
$string="hi how are you check it https://www.youtube.com/watch?v=r_p8ZXIRFJI youtube link can be of this type https://youtu.be/_3tVL-ZAc4k";
preg_match_all("/(?:https?://)(?:www.)?(?:youtube|youtu).(?:be|com)/[^s]+/", $string,$matches);
print_r($matches);

输出:

Array
(
    [0] => Array
        (
            [0] => https://www.youtube.com/watch?v=r_p8ZXIRFJI
            [1] => https://youtu.be/_3tVL-ZAc4k
        )
)

最新更新