2011-04-30 20 views
1

我想在我的网站上替换“宽度”和“高度”。更换高度=“***”星星

例如:

width="600" height="365" 

我想改变的宽度和高度,以

width="712" height="475" 

我可以做到这一点。

$replace =str_replace('width="600" height="365"', 'width="712" height="475"', $replace) 

的问题是,宽度和高度并不总是600和365,他们可能是别的东西。喜欢。

width="222" height="333" 

什么...我正在寻找这样的事情:

$replace =str_replace('width="***" height="***"', 'width="712" height="475"', $replace) 

替换宽度和高度里面什么 '712' 和 '475'。

任何人有任何想法如何可以做? 谢谢!

+2

原始值如何进入html的第一个地方? – Gordon 2011-04-30 13:33:30

+0

来自花药网站的Gordon @ file_get_contents。谢谢。 – Muazam 2011-04-30 13:39:18

+0

*(相关)* [最佳方法解析HTML](http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) – Gordon 2011-04-30 13:45:55

回答

3
$replace = preg_replace('~width="\d*" height="\d*"~', 'width="712" height="475"', $replace); 
+0

非常感谢,工作! – Muazam 2011-04-30 13:42:28

3

虽然您最好在PHP中以编程方式设置宽度和高度,但如果必须的话,您可以使用正则表达式来查找和替换它。

$replace = preg_replace('/width="\d+" height="\d+"/', 'width="712" height="475"', $replace); 
+0

Samir Talwar @ It works,thanks!但是这和上面的有什么不同呢? – Muazam 2011-04-30 13:45:57

+0

@Muazam:只有在宽度和高度都至少有一个数字的情况下,它才会被替换,即使它们是空的,我的替换也会被替换 - 除此之外它们完全相同。 – 2011-04-30 13:56:21

+0

@Muazam:他们几乎完全相同。我们必须同时发布。 – 2011-04-30 16:21:49