Autor Zpráva
mattyZEM
Profil
Příjemný večer přeji,

používám na svém "diskusním fóru" (v uvozovkách protože to tak moc nevypadá :( ) preg_replace na zpracovávání BBkódů.

Bohužel jsem již narazil na velký problém, a to u obrázků. Pokud jsou širší než stránka (například 2000px široké) rozhodí to design. Mohl by mi tedy někdo poradit jak na to a přidat názorný příklad? Děkuji mnohokrát :)
mckay
Profil
mattyZEM:
Dal bych jim max-width a max-height

<img class="forum-img" src="neco.jpg" />

V Css
.forum-img{
max-width: 1500px;
max-height: 1500px;
}


Nebo by to také šlo (ošklivě šlo), pomocí overflow.
tiso
Profil
img{
  max-width: 760px;
  _width: expression(Math.min(parseInt(this.offsetWidth), 760) + "px");/*pre IE*/
}
mattyZEM
Profil
Ne, blbě jsem se vyjádřil, promiň...

Znáš lightbox? Ten chci použít v případě nadměrného obrázku...
mattyZEM
Profil
Stále aktuální...

Potřebuju získat obsah toho co se pregovalo (napříklah http://www.example.com/example2.png) a s tím pak budu pracovat (zjištění šířky, výšky, podmínky atd, a pokud by to bylo moc velké aby se to převedlo i na odkaz na původní obrázek s zmenšeným náhledem.
mattyZEM
Profil
Achjo, prosím, není zde nikdo kdo by mi mohl alespoň trochu poradit? :)
*sorry za triple post
denCo
Profil
neviem či som jediný, ale trošku som tomu tvojmu textu nepochopil... ale zistenie šírky, typu atď. sa dá pomocou funkcie getimagesize()
http://sk2.php.net/manual/en/function.getimagesize.php
mattyZEM
Profil
<?php
      $zkouska='[img ]http://example.com/nejakyobrazek.png[/img ]';
      function obr($matches){
        $pocet=count($matches[0]);
        for($i=1;$i<=$pocet;$i++){
          $velikost=getimagesize("http://".$matches[$i]);
          if($velikost[0]>850){return '<a href="http://'.$matches[$i].'"><img src="http://'.$matches[$i].'" alt="Obrázek" width="850px"></a>';}else {return '<img src="http://'.$matches[$i].'" alt="Obrázek">';}
        }
      }
      $zkouska2 = preg_replace_callback('@\[img\]http://(.*?)\[/img\]@', 'obr', $zkouska);
      echo $zkouska2;      
      ?>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0