Skocz do zawartości

BB Code kolorowanie składni PHP


Markuz

Rekomendowane odpowiedzi

Mam problem z kolorowaniem składni php, mianowicie gdy sobie wkleje tekst za pomocą zwykłej funkcji highlight_string() wszystko działa dobrze a jak chce zrobić to za pomocą bb code to już nie.

Kod zwykły :

<div class='code'>        
<?php
$code = '<?php 
class Database {

    private $host;
    private $user;
    private $pass;
    private $name;
    
    function __construct()
    {
        mysql_connect($this->host, $this->user, $this->pass);
        mysql_select_db($this->name);
    }
}
?>';
highlight_string($code);?>

Kod funkcji bbcode :

function BBCode($tekst){
    $tekst = htmlspecialchars($tekst);
    $tekst = preg_replace("#\[h3\](.*?)\[/h3\]#si",'<h3>\\1</h3>',$tekst);
    $tekst = preg_replace("#\[i\](.*?)\[/i\]#si",'<i>\\1</i>',$tekst);
    $tekst = preg_replace("#\[p\](.*?)\[/p\]#si",'<p>\\1</p>',$tekst);
    $tekst = preg_replace("#\[br\]#si",'<br/>',$tekst);
    $tekst = preg_replace("#\[code\](.*?)\[/code\]#si","<div class='code'>".highlight_string('$1',true)."</div>",$tekst);
    return($tekst);
}

Kod który ma być zamiast tego 1 :

[code]<?php 
class Database {

    private $host;
    private $user;
    private $pass;
    private $name;
    
    function __construct()
    {
        mysql_connect($this->host, $this->user, $this->pass);
        mysql_select_db($this->name);
    }
}
?>

[/code]

 

Czemu nie działa?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...