php preg_replace交换出iframe的高度和宽度

时间:2011-11-30 20:52:22

标签: php regex pcre

我正在尝试在保存到数据库时替换html iframe src上的高度和宽度。我查看了preg_replace函数和PCRE表达式,但无法解决它。下面列出的是我的代码和示例输入

$pattern1 = '/width="[0-9]*"/';
$pattern2 = '/height="[0-9]*"/';
$subject  = '<iframe src="http://player.vimeo.com/?title=0&amp;byline=0&amp;portrait=0" width="400" height="300" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';

$returnValue = $preg_replace(array($pattern1, $pattern2), array('width="200"','height="200"'), $subject);

非常感谢任何帮助!

干杯人!

2 个答案:

答案 0 :(得分:1)

因为你正在处理HTML,我建议使用PHP的DOM功能 - http://php.net/manual/en/book.dom.php。使用HTML时,正则表达式很少得到答案。

答案 1 :(得分:1)

你把$放在函数前面。

$returnValue = preg_replace(array($pattern1, $pattern2), array('width="200"','height="200"'), $subject);

您的脚本可以通过以下方式简化:

$returnValue = preg_replace('/(width|height)="[0-9]*"/g', '$1="200"', $subject);