比如discuz论坛的视频输出:<script type="text/javascript" reload="1">$('swf_6Z5').innerHTML=AC_FL_RunContent('width', '550', 'height', '400', 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', 'http://player.56.com/v_NTYwMzg0MjA.swf', 'quality', 'high', 'bgcolor', '#ffffff', 'wmode', 'transparent', 'allowfullscreen', 'true');</script>我想利用正则从上面代码中提取出视频的宽,高,和地址
即上述代码中三个值:550、400、http://player.56.com/v_NTYwMzg0MjA.swf请问如何写正则?请大家帮帮忙,本人对正则的确一点都不懂。

解决方案 »

  1.   

     preg_match("/.+'width',\s+'(\d+)',\s+'height',\s+'(\d+)'.+'src',\s+'([^\']+)'.+/i",$s,$m);
     print_r($m);
    Array
    (
        [0] => <script type="text/javascript" reload="1">$('swf_6Z5').innerHTML=AC_FL_RunContent('width', '550', 'height', '400', 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', 'http://player.56.com/v_NTYwMzg0MjA.swf', 'quality', 'high', 'bgcolor', '#ffffff', 'wmode', 'transparent', 'allowfullscreen', 'true');</script>
        [1] => 550
        [2] => 400
        [3] => http://player.56.com/v_NTYwMzg0MjA.swf
    )
      

  2.   

    还有个问题未了,怎样获取三个属性值的同时,匹配到整段?
    比如字符串是他可能是某篇文章中的一段而已<script type="text/javascript" reload="1">$('swf_6Z5').innerHTML=AC_FL_RunContent('width', '550', 'height', '400', 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', 'http://player.56.com/v_NTYwMzg0MjA.swf', 'quality', 'high', 'bgcolor', '#ffffff', 'wmode', 'transparent', 'allowfullscreen', 'true');</script>末尾估计还有点东西
    我只有匹配出来,才能将他转换,替换掉。