Я создал функцию, которая будет устанавливать высоту, ширину и wmode = transparent для кодов встраивания youtube. Теперь youtube возвращает код iframe. Итак, мне нужно добавить «? Wmode = transparent» в конце youtube src.
Напр.
Исходный код:
<iframe title = "YouTube-плеер YouTube" width = "420" height = "349" src = "http://www.youtube.com/embed/aXNUL1-urg8" frameborder = "0" allowfullscreen = ""> </ IFRAME>
Я хочу, чтобы его заменили:
<iframe title = "YouTube-плеер YouTube" width = " mywidth " height = " myheight " src = "http://www.youtube.com/embed/aXNUL1-urg8 ? wmode = transparent " frameborder = "0" allowfullscreen = " «> </ IFRAME>
Замена высоты и ширины работает, но замена src не работает.
Я использую ниже regex
$ patterns [] = '/src="http:\/\/www.youtube.com\/embed\/[a-zA-Z0-9._-]"/';
$ replacements [] = 'src = "http://www.youtube.com/embed/${1}?wmode=transparent"';
Ниже моя функция.
функция SetHeightWidthVideo ($ markup, $ w = '200', $ h = '120') {// сделать wmode = прозрачным
$markup = str_replace('<embed ','<embed wmode="transparent" ',$markup); //$w = '200'; //$h = '120'; $patterns = array(); $replacements = array(); if( !empty($w) ) { $patterns[] = '/width="([0-9]+)"/'; $patterns[] = '/width:([0-9]+)/'; $replacements[] = 'width="'.$w.'"'; $replacements[] = 'width:'.$w; } if( !empty($h) ) { $patterns[] = '/height="([0-9]+)"/'; $patterns[] = '/height:([0-9]+)/'; $replacements[] = 'height="'.$h.'"'; $replacements[] = 'height:'.$h; } $patterns[] = '/src="http:\/\/www\.youtube\.com\/embed\/[a-zA-Z0-9._-]"/'; $replacements[] = 'src="http://www.youtube.com/embed/${1}?wmode=transparent"'; return preg_replace($patterns, $replacements, $markup);
}
Пожалуйста помоги. Заранее спасибо.
пытаться:
$patterns[] = '/src="(.*?)"/'; $replacements[] = 'src="${1}?wmode=transparent"'; return preg_replace($patterns, $replacements, $markup);
копировать, вставлять, запускать:
function setHeightWidthSrc($s, $width, $height) { return preg_replace( '@^<iframe\s*title="(.*)"\s*width="(.*)"\s*height="(.*)"\s*src="(.*?)"\s*(.*?)</iframe>$@s', '<iframe title="\1" width="' . $width . '" height="' . $height . '" src="\4?wmode=transparent" \5</iframe>', $s ); } $original = '<iframe title="YouTube video player" width="420" height="349" src="http://www.youtube.com/embed/aXNUL1-urg8" frameborder="0" allowfullscreen=""></iframe> '; print "$original\n"; print setHeightWidthSrc($original, 100, 100) . "\n";