Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obsługa tekstu zawartego w znacznikach bbcode
tara
post
Post #1





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 3.03.2004
Skąd: śląsk

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


Witam,

Muszę zrobić funkcję która rozdzieli ciąg zawarty między tagami i odpowiednio użyje. Chodzi mi o takie coś:

Cytat
[obrazek]1.2.left[/obrazek]


Aby po wyciągnięciu z tagów wyglądało tak:

Kod
<a href="obrazek.php?obraz=1" style="float: left";>


Czyli muszę wyciągnąć tekst zawarty między [obrazek] i [/obrazek], użyć explode i wsadzić do szablonu linka. Tylko jest problem. Jeśli mam tekst

Cytat
aaaaaa [obrazek]1.2.left[/obrazek] eeeeee


To po wyciągnieciu ze znaczników u użycia explode wyjdzie mi takie coś:
Cytat
aaaaaa 1

Cytat
2

Cytat
2left eeeeeeee


i z tym już nic nie poradze. Ma ktoś pomysł jak zrobić tak, aby już w tagach podmienić tekst ?

Ten post edytował tara 21.01.2006, 14:03:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Od razu mówię, że jestem (IMG:http://club.webhost.pl/animal28.gif) jeśli chodzi o wyrażenia regularne. To co napisałem powinno działać ...

  1. <?php
  2.  
  3. $string = 'aaaaaa [obrazek]1.2.left[/obrazek] eeeeee
  4.            Lorem [obrazek]2.nazwa_obrazka.right[/obrazek] Lipsum
  5.            ';
  6.  
  7. $p = preg_match_all( "#[obrazek]([a-zA-Z0-9_.]+)[/obrazek]#is", $string, $out );
  8.  
  9. foreach ( $out[1] as $p )
  10. {
  11.     $a = explode( ".", $p );
  12.     echo '<a href="obrazek.php?obraz=' . $a[0] . '" style="float: ' . $a[2] . '">' . $a[1] . '</a>';
  13.     echo "<br />n";
  14. }
  15. ?>


Ale gwarancji nie daję, że się nie wychaczy później (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

@tara - Tej emotki nie wybierałem przypadkiem, po prostu nie znam się na regexp'ach za dobrze dlatego tak napisałem - że się wychaczy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
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: 14.10.2025 - 17:37