我正在尝试在保存到数据库时替换html iframe src上的高度和宽度。我查看了preg_replace函数和PCRE表达式,但无法解决它。下面列出的是我的代码和示例输入
$pattern1 = '/width="[0-9]*"/';
$pattern2 = '/height="[0-9]*"/';
$subject = '<iframe src="http://player.vimeo.com/?title=0&byline=0&portrait=0" width="400" height="300" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
$returnValue = $preg_replace(array($pattern1, $pattern2), array('width="200"','height="200"'), $subject);
非常感谢任何帮助!
干杯人!
答案 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);