>백엔드 개발 >PHP 튜토리얼 > 替换结构再判断解决办法

替换结构再判断解决办法

WBOY
WBOY원래의
2016-06-13 13:29:21923검색

替换结构再判断



改为:

Image:ESIL_xiaoshengqi1.gif

width和height的值是变动的,如果width 如果width > 805 
那么height = height * 805 /width ; 
  width= 805

这个正则加判断怎么写啊?最近用到好多正则,怎么样才能把正则学好呢?


------解决方案--------------------
请说明你的规则

../Documents/medies/ESIL_xiaoshengqi1.gif
这个乍来的


Image:ESIL_xiaoshengqi1.gif 这个呢?



width="550" height=" 400" 这个呢???上面有两个,需要哪个?



------解决方案--------------------
参考一下:

PHP code
$s=<param name="movie" value="/images/1/17/ESIL_xiaoshengqi2.swf"><param name="bgcolor" value="#FFFFFF"><param name="scale" value="exactfit">
<embed src="/images/1/17/ESIL_xiaoshengqi2.swf" width="1000" height="400" bgcolor="#FFFFFF" scale="exactfit" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed> 
html;

$r= preg_replace('#.+<embed>]*>.+#s','<img src="../Documents/medies/%242" alt="Image:$2"    style="max-width:90%" height="$4" longdesc="/index.php/Image:$2">',$s);

preg_match('#width="(\d+)"\s*height="(\d+)"#i',$r,$m);
if($m[1]>805){ 
         $h=($m[2]*805)/$m[1] ; 
         $r=preg_replace('/(width=)"(\d+)"(\s*height=)"(\d+)"/s','$1"$2"$3"'.$h.'"',$r);
}
echo $r;
<br><font color="#e78608">------解决方案--------------------</font><br>
<dl class="code">PHP code<pre class="brush:php;toolbar:false">
$s =<param name="movie" value="/images/1/17/ESIL_xiaoshengqi2.swf"><param name="bgcolor" value="#FFFFFF"><param name="scale" value="exactfit">
<embed src="/images/1/17/ESIL_xiaoshengqi2.swf" width="1550" height="400" bgcolor="#FFFFFF" scale="exactfit" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed> 
TXT;
$r= preg_replace_callback('#.+<embed>]*>.+#s', 'back', $s);

function back($r) {
  if($r[3] > 805) {
    $r[4] = round($r[4]*805/$r[3]);
    $r[3] = 805;
  }
  return 
TXT;
}
echo $r; <div class="clear">
                 
              
              
        
            </div></embed>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.