Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Usuwanie danego elementu z treści występującego 2 razy (+multiline)
miki3475
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 1
Dołączył: 15.06.2008

Ostrzeżenie: (10%)
X----


Witam,
mam problem z usuwaniem danego elementu z podanej treści.

Treść przedstawia się następująco:
  1. <?php
  2.  
  3. function usun($tresc){
  4. $nowa_tresc = preg_replace("#\[usun](.*)\[\/usun]#ms", "", $tresc);
  5. return $nowa_tresc;
  6. }
  7.  
  8. $tresc = "Tytuł maila
  9.  
  10. [usun]http://google.pl[/usun]
  11.  
  12. [kodzik]tresc wiadomosci[/kodzik]
  13.  
  14. [usun]google.pl
  15. google.pl
  16. google.pl
  17. google.pl[/usun]
  18.  
  19. [kodzik]Podpis[/kodzik]";
  20.  
  21. echo usun($tresc);
  22.  
  23. ?>


Wynik:
Kod
Tytuł maila



[kodzik]Podpis[/kodzik]


Jak widać nie usuwa prawidłowo, myśli że usuń-start jest w miejscu rozpoczęscia pierwszego [usun] a koniec w miejscu zakończenia drugiego [usun].

Czy coś można z tym zrobić? Dodam, że układ się zmienia, ilość [usun] również. Ilość linii w [usun] jest różna.
Myślałem o tym, żeby gdy pojawi się [usun] kolejne to przerwało usuwanie i cofneło do końca pierwszego. Bo nie może być [usun][usun]tresc[/usun][/usun]. Ale zupełnie nie wiem jak to powinno wyglądać.

Prawidłowy tekst powinien przedstawiac się następująco:
Kod
Tytuł maila

[kodzik]tresc wiadomosci[/kodzik]

[kodzik]Podpis[/kodzik]


Wielkie dzięki wink.gif

Ten post edytował miki3475 16.05.2011, 21:17:49
Go to the top of the page
+Quote Post

Posty w temacie


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: 21.08.2025 - 01:15