1

我有一些正则表达式的问题。我正在尝试修改 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();

4

1 回答 1

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);
于 2013-07-02T11:03:22.160 回答