【发布时间】:2011-07-05 09:05:43
【问题描述】:
谁能帮我解释一下为什么下面的代码只适用于对象代码中宽度/高度的第一个实例。我需要替换使用 "height: xxx ; width : xxx" 的样式,然后还要替换实际嵌入的 height = "xxx" 和 width = "xxx"
这是 preg 替换:
$vid_object = preg_replace('~((width)\s?[=:]\s?[\'"]?)[0-9]+~i','${1}600',$vid_object);
$vid_object = preg_replace('~((height)\s?[=:]\s?[\'"]?)[0-9]+~i','${1}364',$vid_object);
这是视频输出:
<object style="height: 364px; width: 600px"><param name="movie" value="http://www.youtube.com/v/UF06-2Q0-G0?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/UF06-2Q0-G0?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object>
我认为这与代码“${1}600”的替换部分有关,或者结果仅限于第一个实例。
非常感谢任何帮助。当正则表达式不是我的专长时,浪费了太多时间。 谢谢 尼古拉斯
【问题讨论】:
标签: object video embed preg-replace dimensions