Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] BBcode - listowanie kodu
Hubson
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 31.12.2006
Skąd: Warszawka

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


Opracowuję sobie BBcode na stronę. Wszystko robię przy pomocy funkcji preg_replace() i tak doszedłem do znacznika [ code ][/ code ]. Postanowiłem, że kod będę wyświetlał przy pomocy listy numerowanej <ol></ol>, każdą linijkę oddzielnie pomiędzy <li><code>, a </code></li>. Przy tym ostatnim pojawił się problem, gdyż nijak nie mogę zastosować na atomie (zwracanym wewnątrz funkcji preg_replace()) instrukcji listowania, która zamienia każdy wiersz na <li><code>{zawartość}</code></li>.

  1. <?php
  2. function wylistuj( $char, $string, $open, $close ) {
  3. $explode = explode( $char, stripslashes($string) );
  4. $count = count($explode);
  5. $list='';
  6. for( $x=0;$x<$count;$x++ ) {
  7. $list .= $open.$explode[$x].$close.'
  8. ';
  9. }
  10. return $list;
  11. }
  12.  
  13. function bbcode($string) {
  14. $tekst = htmlspecialchars(stripslashes( $string ));
  15. $tekst = preg_replace("#[ code ](.*?)[/ code ]#", '<ol>'.wylistuj("\n", nl2br('1'), '<li><code>', '</code</li>').'</ol>', $tekst);
  16. return $tekst;
  17. }
  18. ?>


Ten post edytował Hubson 5.08.2008, 22:18:44
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: 23.08.2025 - 16:53