ugrás a tartalomhoz

BBcode feldolgozás highlight_string()-gel

raczger · 2007. Már. 26. (H), 06.59
nos a következővel próbálkozok most, a highloight-al ( http://hu2.php.net/manual/hu/function.highlight-string.php ) megszínezni azokat a kódokat egy változóban amik két bizonyos karakter között vannak
erre találtam is egyet a php manualon:
<?php
function bbcode($s)
{
$s = str_replace('']\n'', '']'', $s);
$match = array('#\[php\](.*?)\[\/php\]#se');
$replace = array('''<div>'.highlight_string(stripslashes('$1'), true).'</div>''');
return preg_replace($match, $replace, $s);
}
?>
ha csak simán egy szövegrészt akarok vele átalakítani szépen megy is, inkább csak a konvertálással van baj... ha elé teszem akkor html kódban megjelenik ugyebár az egész, ha utána teszem akkor egy kicsit érdekesen, ha pedig hagyom h utána és visszaalakítom az átalakítottakat ott ahol highéight-ot akaok használni úgy is érdekes lesz az eredmény...
pls help me!:) :R
 
1

szerintem rosszul másoltad be...

TeeCee · 2007. Már. 27. (K), 18.28
Itt egy kipróbált darab, kis módosítással az eredeti (php.net) verzióhoz képest:
(pl: nem mindegy, hogy aposztróf, vagy idézőjel...)

<?php

$string = '
[php]
  echo "ez".$lenni.EGY_ECHO;
  print htmlentities("<krumpli>");
[/php]
';

echo bbcode($string);

function bbcode($s)
{
   $s = str_replace("]\n", "]", $s);
   $match = array('#\[php\](.*?)\[\/php\]#se');
   $replace = array("'<div>'.highlight_string(stripslashes('<?php '.'$1'.' ?>'), true).'</div>'");
   return preg_replace($match, $replace, $s);
}
?>