Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> bbcode - wyjaśnienie wzorca
kampio
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 22.07.2008

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $input = "plain 
     deep 
     deeper 
     deep 
     plain"
    ;
  3.  
  4. function parseTagsRecursive($input)
  5. {
  6.  
  7. $regex = '#
    ((?:[^[]|[(?!/?indent])|(?R))+)
    #'
    ;
  8.  
  9. if (is_array($input)) {
  10. $input = '<div style="margin-left: 10px">'.$input[1].'</div>';
  11. }
  12.  
  13. return preg_replace_callback($regex, 'parseTagsRecursive', $input);
  14. }
  15.  
  16. $output = parseTagsRecursive($input);
  17.  
  18. echo $output;
  19. ?>

Powyższy przykład pochodzi z manuala php:preg_replace_callback

czy ktoś może dokładnie mi wyjaśnić ten $regex? a w szczególności co znaczy: ?! , /? ?R, nie mogłem znaleźć w kursach tych znaczników za pomoc dziękuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


?!
Kod
(?!/?indent])
W tym miejscu nie wystąpi '/?indent'


/?
Jeden lub zero ukośników


?R
Rekurencja - całe wyrażenie jest dopasowywane jeszcze raz w danym miejscu


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 17:59