ugrás a tartalomhoz

BBcode + képkicsinyítés

Tanul0 · 2008. Nov. 20. (Cs), 08.36
function bb($szoveg)
{

  global $picsize_l;
  global $picsize_h;
 
  $autoresize=1;
 
  if($autoresize==1) {
 
 preg_match_all("|(\[img\])(.*)(\[\/img\])|i", $szoveg, $imgtags, PREG_SET_ORDER);
 foreach($imgtags as $teil) {
  $szoveg = str_replace('', '[/img]', $szoveg);
  $kepinfo = getimagesize($teil[2]);
  switch($kepinfo[2]) {
  case 1: $format = "gif"; break;
  case 2: $format = "jpeg"; break;
  }
  if(!$picsize_l) $size_l = "9999"; else $size_l=$picsize_l;
  if(!$picsize_h) $size_h = "9999"; else $size_h=$picsize_h;
  if($kepinfo[0] > $size_l OR $kepinfo[1] > $size_h) $szoveg = str_replace('', '.']<img src="'.$teil[2].'" border="0" width="'.$picsize_l.'" alt="show original"><br>(Auto kicsinyítés: '.$kepinfo[1].'x'.$kepinfo[0].'px, '.$format.'[/i])', $szoveg);
  elseif($kepinfo[0] > (2*$size_l) OR $kepinfo[1] > (2*$size_h)) $szoveg = str_replace('', '.']Large picture<br>('.$kepinfo[1].'x'.$kepinfo[0].'px, '.$format.')', $szoveg);
  else {
   $szoveg = str_replace('', '<img src="'.$teil[2].'" border="0">', $szoveg);
  }
 }
}
else

$szoveg = preg_replace("#\[img\](.*?)\[/img\]#si", "<img src=\"\\1\" border=\"0\">", $szoveg);
$szoveg = preg_replace("#\[url=(.*?)\](.*?)\[/url\]#si", "<a href=\"\\1\">\\2</a>", $szoveg);
$szoveg = preg_replace("#\[email\](.*?)\[/email\]#si", "<a href=\"mailto:\\1\">\\1</a>", $szoveg);
$szoveg = preg_replace("#\[email=(.*?)\](.*?)\[/email\]#si", "<a href=\"mailto:\\1\">\\2</a>", $szoveg);
$szoveg = preg_replace("#\[size=(.*?)\](.*?)\[/size\]#si", "<font size=\"\\1\">\\2</font>", $szoveg);
$szoveg = preg_replace("#\[c=(.*?)\](.*?)\[/c\]#si", "<font color=\"\\1\">\\2</font>", $szoveg);
$szoveg = preg_replace("#\[font=(.*?)\](.*?)\[/font\]#si", "<font face=\"\\1\">\\2</font>", $szoveg);
$szoveg = preg_replace("#\[align=(.*?)\](.*?)\[/align\]#si", "<div align=\"\\1\">\\2</div>", $szoveg);
   $szoveg = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>",$szoveg);
$szoveg = preg_replace("#\[i\](.*?)\[/i\]#si", "<i>\\1</i>",$szoveg);
$szoveg = preg_replace("#\[u\](.*?)\[/u\]#si", "<u>\\1</u>",$szoveg);
$szoveg = preg_replace("#\[s\](.*?)\[/s\]#si", "<s>\\1</s>",$szoveg);
$szoveg = preg_replace("#\[pre\](.*?)\[/pre\]#si","<pre>\\1</pre>", $szoveg);
$szoveg = preg_replace("#\[list\](.*?)\[/list\]#si", "<ul>\\1</ul>", $szoveg);
$szoveg = preg_replace("#\[list=1\](.*?)\[/list=1\]#si", "<ol>\\1</ol>", $szoveg);
$szoveg = preg_replace("#\[list=a\](.*?)\[/list=a\]#si", "<ol type=\"a\">\\1</ol>", $szoveg);
$szoveg = preg_replace("#\[\*\](.*?)\[/\*\]#si", "<li>\\1</li>", $szoveg);
$szoveg = preg_replace("#\[br]#si", "<br>", $szoveg);
$szoveg = preg_replace("#\
#si", "<hr noshade color=\"#ffffff\" size=\"1\">", $szoveg);
$szoveg = preg_replace("#\
#si", "<center>", $szoveg);
$szoveg = preg_replace("#\
#si", "</center>", $szoveg);
$szoveg = preg_replace('/\[img\](.*?)\[\/img\]/si', '<img src="$1" border=0 />', $szoveg);

return $szoveg;


}


Sajnálatos módon a kép kinyinyítés része nem akar működni :(
 
1

még jó...

Tanul0 · 2008. Nov. 20. (Cs), 08.41
Még jó, hogy beraktam hogy ez egy kód, de a <hr>-t kirajzolja :S, help me pls!
2

pastebin!

deejayy · 2008. Nov. 20. (Cs), 09.24
szerintem told föl a pastebin.ca-ra.

valamint kicsit bővebben is kifejthetnéd a kérdést :)
3

function bb($szoveg) {

Tanul0 · 2008. Nov. 20. (Cs), 13.34
function bb($szoveg)
{

  global $picsize_l;
  global $picsize_h;
 
  $autoresize=1;
 
  if($autoresize==1) {
 
 preg_match_all("|(\[img\])(.*)(\[\/img\])|i", $szoveg, $imgtags, PREG_SET_ORDER);
 foreach($imgtags as $teil) {
  $szoveg = str_replace('', '[/img]', $szoveg);
  $kepinfo = getimagesize($teil[2]);
  switch($kepinfo[2]) {
  case 1: $format = "gif"; break;
  case 2: $format = "jpeg"; break;
  }
  if(!$picsize_l) $size_l = "9999"; else $size_l=$picsize_l;
  if(!$picsize_h) $size_h = "9999"; else $size_h=$picsize_h;
  if($kepinfo[0] > $size_l OR $kepinfo[1] > $size_h) $szoveg = str_replace('', '.']<img src="'.$teil[2].'" border="0" width="'.$picsize_l.'" alt="show original"><br>(Auto kicsinyítés: '.$kepinfo[1].'x'.$kepinfo[0].'px, '.$format.'[/i])', $szoveg);
  elseif($kepinfo[0] > (2*$size_l) OR $kepinfo[1] > (2*$size_h)) $szoveg = str_replace('', '.']Large picture<br>('.$kepinfo[1].'x'.$kepinfo[0].'px, '.$format.')', $szoveg);
  else {
   $szoveg = str_replace('', '<img src="'.$teil[2].'" border="0">', $szoveg);
  }
 }
}
else

$szoveg = preg_replace("#\[img\](.*?)\[/img\]#si", "<img src=\"\\1\" border=\"0\">", $szoveg);
return $szoveg;
Ez a része nem működik helyesen és nem tudok rájönni, hogy miért :S tehát a lényeg, ha beállítok egy értéket szélességnek, magasságnak , hogy annál nagyobb nem lehet a kép (megjelenítési mérete) amit berak mondjuk egy felhasználó egy hozzászólásba, mert ugye akkor szétcsúszik az oldal :S És nem akar működni, és nem jövök rá a hibára :S