我想使用substr函数从链接中删除不必要的字符。 我会把一个" youtube"在帖子编辑器上输入,但我需要忽略" https://www.youtube.com/watch?v="并仅打印视频ID(例如wGoM_wVrwng)。
所以我试过了:
<?php
echo substr('https://www.youtube.com/watch?v=wGoM_wVrwng', 32);
?>
但是,我需要在那里放<?php the_field(); ?>
。
<?php
echo substr('https://www.youtube.com/watch?v= **THE_FIELD()**', 32);
?>
如何进行?
提前致谢
答案 0 :(得分:1)
<?php
if (preg_match('%http(?:s)?://(?:www\.)?youtu(?:be\.com/watch\?v=|\.be/)(\w*)(&(amp;)?[\w\?=]*)?%', $subject, $regs)) {
$result = $regs[1];
} else {
$result = false;
}
?>
现在,如果$result !== false
,它包含该部分(视频ID)。
使用youtu.be和youtube.com等也可以使用和不使用https。
答案 1 :(得分:0)
如果我使用的分隔符是唯一的,您可以使用一种简单的方法。
$link = "https://www.youtube.com/watch?v=123456";
$array = explode("?v=", $link);
var_dump($array);
array (size=2)
0 => string 'https://www.youtube.com/watch' (length=29)
1 => string '123456' (length=6)
$sameLink = implode("?v=", $array);
echo $sameLink;
https://www.youtube.com/watch?v=123456