Nom w sumie tez tak myslalem ale pokombinuje jeszcze dzis

No ok cos tam pokombinowalem
function phpcode($code){
if(!$code) return;
$code[1]=trim($code[1]);
$code[1]=html_entity_decode($code[1]);
$code[1]=str_replace('<Br>','',$code[1]);
if(substr($code[1], 0,5) !== '<?php') $code[1] = '<?php '.$code.'';
if(substr($code[1], -2) != '?'.'>') $code[1] .= '?'.'>';
$kod=highlight_string($code[1], TRUE);
if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'){
$sys[0]='<code><span style="color: #000000">'."\n";
$sys[1]=chr(10).'</code>';
}
else{
$sys[0]="<font color=\"#000000\">\n";
$sys[1]="\n</code>";
}
$kod=str_replace(array($sys[0],$sys[1]),array('<code><font color="#000000">','</code>'),$kod);
$ret='<pre style="background-color:#D7D7D7; border: 1px solid black;">'.$kod.'</pre>;
return $ret;
}
?>
Bbcode tak jak wyzej jednak za 3 problemy:
*usuwa ' i "
*dodaje nowe dodatkowe linie czyli np mam takie cos
<?php
?>
To po pierwsze w echo nie ma ' ani " ogolnie usuwa je a kod wyglada tak
<?php
?>
Dodaje nowe linie nie wiem czemu
POtem gdy miedzy znacznikami php dam znaczniki <?php i ?> to mam taki wynik za pomoca print_r()
<!--quoteo--><div class='quotetop'>Cytat</div><div class='quotemain'><!--quotec-->Array ( [0] =>
<?php if(substr($str, -2) != \'?'.'>') { $str .= '?'.'>'; } ?>
[1] => \') { $str .= \'?\'.\'>\'; } ?> )[/quote]
jesli nie dam znacznokow to one sie dodaja jednak nie ma juz kodu a jest tylko takie cos: <?php Array?> oto wynik print_r()
Cytat
Array ( [0] =>
<?php
if(substr($str, -2) != \'?'.'>') { $str .= '?'.'>'; } ?>
[1] => )
Jak widac 2 elemt tablicy jest pusty dlaczego co zle robie z dodawanie tych znacznikow?
Ogolnie przy dodawaniu ?> lacze ciag kropka bo czytalem na jakims forum ze moze kod sie posypac i cos juz dziala ale to nie to

P.S czy jest jakas funckja podobna do html_entity_decode ktora nie bedzie usuwac ' i " htmlspecialchars nie dziala bo zamienia <>
Ogolnie juz znaczniki mi dodaje " nie usuwa ale ' wciaz usuwa i nie wiem co zrobic macie jakies pomysly?
Jedyne co mi przychodzi do glowy to zamienic te znaczniki za pomoca str_replace na ich odpowiedniki
Cytat
The translations performed are:
- '&' (ampersand) becomes '&'
- '"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
- ''' (single quote) becomes ''' only when ENT_QUOTES is set.
- '<' (less than) becomes '<'
- '>' (greater than) becomes '>'
Jednak nie bedzie to zbyt optymalne
To jak wie ktos jak pomoc?
