在Wordpress中使用自定义字段的substr

时间:2014-12-09 16:59:30

标签: php wordpress

我想使用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);   
?>

如何进行?

提前致谢

2 个答案:

答案 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