Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Własna funkcja kolorująca składnię - mały problem...
ladovnik
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 25.11.2008
Skąd: Polska

Ostrzeżenie: (10%)
X----


Witam. Zrobiłem sobie funkcję, która koloruje składnię. Wszystko w sumie ładnie chodzi, ale bez problemów obyć się nie mogło... Funkcja zmienia znaki * , . () na fioletowe a kody znajdujące się pomiędzy ' a ' na zielone. Problem polega na tym, że jeżeli między ' a ' znajdzie się znak * , . () to jest on oczywiście zamieniony na fioletowy... Czy wiecie jak takiej sytuacji zaradzić? Aby funkcja zamieniając znaki * , . () omijała fragmenty tekstu zawarte miedzy ' a '?

Oto moja funkcja:
  1. <?php
  2. function syntax($string)
  3. {
  4.    $after=Array(
  5.    0=>"/=/",
  6.    1=>"/*/",
  7.    2=>"/(/",
  8.    3=>"/)/",
  9.    4=>"/./",
  10.    5=>"/,/"
  11.    );
  12.    $before=Array(
  13.    0=>"<span style=\"color:#FF00FF;\">=</span>",
  14.    1=>"<span style=\"color:#FF00FF;\">*</span>",
  15.    2=>"<span style=\"color:#FF00FF;\">(</span>",
  16.    3=>"<span style=\"color:#FF00FF;\">)</span>",
  17.    4=>"<span style=\"color:#FF00FF;\">.</span>",
  18.    5=>"<span style=\"color:#FF00FF;font-weight:bold;\">,</span>"
  19.    );
  20.    $string=preg_replace($after, $before, $string);
  21.    $string=preg_replace("#'(.*?)'#si", "<span style=\"color:green;\">'1'</span>", $string);
  22.    return $string;
  23. }
  24. ?>


Proszę o pomoc i pozdrawiam,
ladovnik

Ten post edytował ladovnik 25.11.2008, 18:22:21
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 21:16