需要在youtube iframe中修改src

时间:2013-07-02 10:26:19

标签: php regex preg-replace preg-match

我有一些正则表达式的问题。 我正在尝试修改iframe的src,如果它不存在,我需要添加enablejsapi。

preg_match('/<iframe[^>]+src=([\'"])?((?(1).+?|[^\s>]+))(?(1)\1)/', 
$model->video, $matches);
$src = $matches[2];
if(!strstr($src,"enablejsapi")){
    if(strstr($src, "?")){
        $src.="&enablejsapi=1";
    }else{
        $src.="?enablejsapi=1";
    }
}

我明白了,但我无法忍住。我需要它来控制视频。像$("#player").stop();

这样的东西

1 个答案:

答案 0 :(得分:0)

试试这个

preg_match('#<iframe[^>]+src=([\'"])(.*)\1#isU', $model->video, $matches);
$src = $matches[2];
if(false === strstr($src, 'enablejsapi')){
    if(false !== strstr($src, '?')){
        $src.= '&enablejsapi=1';
    }else{
        $src.= '?enablejsapi=1';
    }
}
$model->video = preg_replace('#' . preg_quote($matches[2]) . '#', $src, $model->video);