1. Начата процедура восстановления социальных групп. Лидерам старых и новых групп обязательно ознакомиться с регламентом проведения работ.

Замена значения параметра тэга!

Тема в разделе 'Регулярные выражения', создана пользователем Curt, 23 сен 2011.

  1. вобщем суть в том что в ютуба вставляют код видео, и если оно слишком большое - мне нужно его уменьшить...

    т.к. допустим этот iframe может быть в статье, получается что-то вроде:

    PHP:
    $content="текст статьи <iframe ..... остальной текст статьи";
    хммммммм, пока писал до самого дошло - может там в коде двойные кавычки икранируются и из-за этого не выходит?
  2. 2 фрейма с главной страницы youtube.com с регуляркой которая заменяет.
    PHP:
    $str '<iframe id="ad_creative_iframe_1" src="http://ad-emea.doubleclick.net/adi/com.ythome/_default;sz=970x250,960x250;tile=1;dcopt=ist;kgender=m;k21=1;kga=1002;kar=4;klg=ru;kage=29;kgg=1;kt=K;kcr=ru;dc_dedup=1;kmyd=ad_creative_1;kbsg=HPRU110927;ord=5471516665152266?" height="250" width="970" scrolling="no" frameborder="0" style="z-index: 1" id="homepagetop" onload="yt.www.home.ads.workaroundLoad()" onmouseover="yt.www.home.ads.workaroundIE(this)" onfocus="yt.www.home.ads.workaroundIE(this)"></iframe>

    <iframe id="ad_creative_iframe_3" height="100" width="300" scrolling="no" frameborder="0" style="z-index: 1" id="promo1"></iframe>
    '

    echo 
    fun($str1000600); 

    function 
    fun($str$widht$height){ 
        return 
    preg_replace('/(<iframe.*?height=)"\d+"(.*?width=)"\d+/i''$1"'.$height.'"$2"'.$widht$str); 
    }
    Curt нравится это.
  3. Олег, там строка получается с экранируемыми кавычками, т.е. -
    PHP:
    <iframe width=\"***\" height=\"***\" ....
    поэтому ничего не работает(
  4. PHP:
    <?php
    $text 
    "iframe width=\"320\" height=\"240\" ....  ";
    $text=preg_replace('/(iframe.*?height=.*?)\d+(.*?width=.*?)\d+/i','$1 640 $2 480',$text);
    $text=preg_replace("/(iframe.*?width=.*?)\d+(.*?height=.*?)\d+/i",'$1 640 $2 480',$text);
    print_r ($text);

    2 раза pregreplace на случай если width heith местами поменяны будут
  5. $str = '<iframe ololo width="640" bla-bla height="480" ...';
    echo
    fun($str, 1000, 600);
    function
    fun($str, $widht, $height){
    return
    preg_replace('%(<iframe.+?width=)"\d+"(.+?height=)"\d+"%i', '$1"'.$widht.'"$2"'.$height.'"', $str);
    }