Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] kolorowanie składni poprzez highlight_string z uzyciem preg_replace
Forum PHP.pl > Forum > Przedszkole
esiek
  1. <?php
  2. $zmienna = preg_replace("#[php](.*?)[/php]#eis","highlight_string(htmlspecialchars_decode('$1'), true)", $zmienna);
  3. ?>


Mam taki kodzik to kolorowania składni w tagach bbcode [ php ] [ / php ]
wszystko działa super winksmiley.jpg kolorki eleganckie ale teraz chce aby bylo to w tabelce. . . i ni Hu** nie wiem jak sie do tego zabrac. . . probowalem np tak

  1. <?php
  2. $zmienna = preg_replace("#[php](.*?)[/php]#eis","Otwieramy tabele ". highlight_string(htmlspecialchars_decode('$1'), true)." zamykamy tabele", $zmienna);
  3. ?>


i wyskakuje mi blad. . . ma ktos jakies propozycje?? dla niektórych moze to byc banalny błąd a dla mnie moze to byc zbawienie. . . pozdrawiam goraco i czekam na przemyslane propozycje i skrypty!
erix
Błąd, gdyż jako replacement przy /e musisz podać WYRAŻENIE z PHP. To tak, jakbyś napisał:
  1. <?php
  2. Otwieramy tabele highlight_string(htmlspecialchars_decode('$1'), true) zamykamy tabele
  3. ?>

w surowy kod. Trudno, żeby nie wywaliło błędu parsera. winksmiley.jpg

Zrób sobie osobną funkcję, np. stylizePHP:
  1. <?php
  2. function stylizePHP($exp){
  3. return 'asdasdasd'.higlight_string($exp).'asdasdasd';
  4. }
  5.  
  6. //i Twoje wyrażenie:
  7. $zmienna = preg_replace("#[php](.*?)[/ php]#eis","stylizePHP("1")'", $zmienna);
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.