2017-02-03 42 views
-1

的字符串值,我的字符串,是這樣的更換IFRAME

$string = ' <iframe width="560px" height="250px" src="https://www.google.com/maps/embed/v1/place?key=AIzaSyBdVKAGo41VFI44444440l17aXhg&q=Space+Needle,Seattle+WA" allowfullscreen></iframe>'; 

我需要新的字符串替換數據屬性看起來像這樣

$newstring = '<iframe width="100%" height="100%" src="https://www.google.com/maps/embed/v1/place?key=AIzaSyBdVKAGo41VFI44444440l17aXhg&q=Space+Needle,Seattle+WA" allowfullscreen></iframe>'; 

我不知道數據attbibutes但我的價值知道它永遠是100%

如何做到這一點?

回答

0

您可以使用正則表達式

$string = preg_replace("/\"([0-9]*)px\"/si","'100%'",$string); 
echo $string; 
0

這也適用,但長於preg_replace嘗試PHP的preg_replace它是用來替換字符串的一部分:

$string = ' <iframe width="560px" height="250px"src="https://www.google.com/maps/embed/v1/place?key=AIzaSyBdVKAGo41VFI44444440l17aXhg&q=Space+Needle,Seattle+WA" allowfullscreen></iframe>'; 
$pos = strpos($string, "src"); 
$newstring = substr_replace($string,' <iframe width="100%" height="100%" ',0,$pos); 
0

使用preg_replace()你可以做這樣的

$string = ' <iframe width="560px" height="250px" src="https://www.google.com/maps/embed/v1/place?key=AIzaSyBdVKAGo41VFI44444440l17aXhg&q=Space+Needle,Seattle+WA" allowfullscreen></iframe>'; 

$s = preg_replace('/(width|height)="[0-9]*px"/', '$1="100%"', $string); 
echo $s; 

使用(width|height)製造確定你只能改變這兩個屬性。

結果:

<iframe width="100%" height="100%" src="https://www.google.com/maps/embed/v1/place?key=AIzaSyBdVKAGo41VFI44444440l17aXhg&q=Space+Needle,Seattle+WA" allowfullscreen></iframe> 
0

如果你只是想改變一個HTML元素的高度和寬度,只需簡單的HTML文檔或PHP模板在正則表達式或DOM一個很好的舊css文件file.No需要解析。

由於你的iframe看起來像你從谷歌獲得它,並沒有類或id你把它放在一個div或任何有一個ID,如果你有其他的頁面內的iframes。

div#maps-iframe-container iframe{ 
    width: 100%; 
    height: 100%; 
}