php
  • regex
  • pcre
  • 2011-11-30 55 views 0 likes 
    0

    我試圖在保存到數據庫時替換html iframe src上的高度和寬度。我查看了preg_replace函數和PCRE表達式,但無法解決這個問題。下面列出的是我的代碼和樣品輸入php preg_replace換出iframe的高度和寬度

    $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); 
    

    任何幫助將不勝感激!

    乾杯人!

    回答

    1

    因爲你在處理HTML,我會建議使用PHP的DOM功能 - http://php.net/manual/en/book.dom.php。使用HTML時,正則表達式很少是答案。

    1

    你把$放在函數的前面。

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

    您的腳本可以被簡化如下:

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