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
  1. function bb($szoveg)  
  2. {  
  3.   
  4.   global $picsize_l;  
  5.   global $picsize_h;  
  6.    
  7.   $autoresize=1;  
  8.    
  9.   if($autoresize==1) {  
  10.    
  11.  preg_match_all("|(\[img\])(.*)(\[\/img\])|i"$szoveg$imgtags, PREG_SET_ORDER);  
  12.  foreach($imgtags as $teil) {  
  13.   $szoveg = str_replace('''[/img]'$szoveg);  
  14.   $kepinfo = getimagesize($teil[2]);  
  15.   switch($kepinfo[2]) {  
  16.   case 1: $format = "gif"break;  
  17.   case 2: $format = "jpeg"break;  
  18.   }  
  19.   if(!$picsize_l$size_l = "9999"else $size_l=$picsize_l;  
  20.   if(!$picsize_h$size_h = "9999"else $size_h=$picsize_h;  
  21.   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);  
  22.   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);  
  23.   else {  
  24.    $szoveg = str_replace('''<img src="'.$teil[2].'" border="0">'$szoveg);  
  25.   }  
  26.  }  
  27. }  
  28. else  
  29.   
  30. $szoveg = preg_replace("#\[img\](.*?)\[/img\]#si""<img src=\"\\1\" border=\"0\">"$szoveg);  
  31. 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