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
 
Start new topic
Odpowiedzi
Hubson
post
Post #2





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

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


Wiem. Prezentuję jedynie fragment kodu.

Odnośnie podanej przez Ciebie funkcji - słyszałem o niej, ale nie umiem z niej skorzystać, jeżeli mógłbyś mnie poinstruować byłbym niemal dozgonnie wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Ten post edytował Hubson 5.08.2008, 22:30:43
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: 10.10.2025 - 14:40