Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> obsługa tekstu zawartego w znacznikach bbcode
tara
post 21.01.2006, 11:43:58
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


--------------------
MySQL 4.0.15 | PHP 4.3.3 | Apache 1.3.28 | Kwrite | phpMyAdmin 2.5.6-rc1 | Linux MDK 10.1 pp
Go to the top of the page
+Quote Post
strife
post 21.01.2006, 16:11:59
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 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 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 biggrin.gif


--------------------
Go to the top of the page
+Quote Post
tara
post 21.01.2006, 17:41:19
Post #3





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

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


strife, super działa. biggrin.gif Dzieki wielkie. Co masz na myśli o wyhaczeniu ? że padnie ? winksmiley.jpg


--------------------
MySQL 4.0.15 | PHP 4.3.3 | Apache 1.3.28 | Kwrite | phpMyAdmin 2.5.6-rc1 | Linux MDK 10.1 pp
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 Wersja Lo-Fi Aktualny czas: 25.07.2025 - 10:05