Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Preg_replace i wyrazenie usuwajace dany tekst na koncu wiersza.
lepmajster
post
Post #1





Grupa: Zarejestrowani
Postów: 129
Pomógł: 24
Dołączył: 21.05.2010

Ostrzeżenie: (30%)
XX---


Witam.
Od wczoraj mecze sie z ulozeniem wyrazenia dla preg_replace(), ktore usunie mi wszystkie wystapienia "<br />" z konca zdania.
Probowalem tak:
Kod
#$<br />#si
#$<br />#sim
#$<br />#m
#$<br />#

ale nie dziala, nie usuwa mi <br /> na koncu zdania.
Prosze o pomoc.

Dodam, ze takie cos dziala:
Kod
#^<br />#si

ale dla <br /> na poczatku zdania, wiec czemu $ nie dziala na koncu?


--------------------
Naciśnij POMÓGŁ, jeśli mój post był pomocny :)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
tomm
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


Spróbuj tak:

  1. '%<br />$%m'
Go to the top of the page
+Quote Post
lepmajster
post
Post #3





Grupa: Zarejestrowani
Postów: 129
Pomógł: 24
Dołączył: 21.05.2010

Ostrzeżenie: (30%)
XX---


Dziala - DZIEKI WIELKIE exclamation.gif!

Ps. A jak zrobic, aby kilka <br /> z konca usuwalo.
Powiedzmy ze mam taki tekst:
Kod
Ala ma kota<br /><br /><br />

to usunie mi tylko jedno <br />.

Ten post edytował lepmajster 30.11.2010, 22:37:39


--------------------
Naciśnij POMÓGŁ, jeśli mój post był pomocny :)
Go to the top of the page
+Quote Post
tomm
post
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


A tak nie możesz?

  1. $a = "<br />ala ma kota<br />";
  2.  
  3. echo trim($a, '<br />');


to usunie wielokrotne <br />

Ten post edytował tomm 30.11.2010, 22:43:57
Go to the top of the page
+Quote Post
lepmajster
post
Post #5





Grupa: Zarejestrowani
Postów: 129
Pomógł: 24
Dołączył: 21.05.2010

Ostrzeżenie: (30%)
XX---


Cytat(tomm @ 30.11.2010, 22:41:48 ) *
A tak nie możesz?

  1. $a = "<br />ala ma kota<br />";
  2.  
  3. echo trim($a, '<br />');


to usunie wielokrotne <br />

No ale to mi usunie wszystkie <br /> w tekscie, a ja dopuszczam uzywania <br />, tylko chce aby na koncu zdania nie bylo niepotrzebnego lamania linii.

EDIT:
Zrobilem, nie wiem czy dobrze, ale dziala:
Kod
#(<br />)+$#m

Usuwa wielokrotne znaki <br /> z konca linii.

Ten post edytował lepmajster 30.11.2010, 22:56:25


--------------------
Naciśnij POMÓGŁ, jeśli mój post był pomocny :)
Go to the top of the page
+Quote Post
tomm
post
Post #6





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


no to tak

  1. '%(<br />)+$%m'
Go to the top of the page
+Quote Post
lepmajster
post
Post #7





Grupa: Zarejestrowani
Postów: 129
Pomógł: 24
Dołączył: 21.05.2010

Ostrzeżenie: (30%)
XX---


Wlasnie tak pomyslalem - zapomnialem zupelnie o tych "modyfikatorach"? +/*/?/{n,m} winksmiley.jpg

Zrobilem komplet funkcji, potrzebnych mi do opisanych nizej celow, prosze o skomentowanie, czy dobrze to zrobilem, poniewaz nie chce wstawiac czegos na strone, czego nie jestem w 100% pewien. Nie chce niespodzianek - niby testowalem na localhost i bylo OK, ale ktos, kto sie na tym zna, moze wylapie cos, o czym ja nie pomyslalem?

1. Chce usunac podwojne (lub wiecej) powtorzenia <br /> w jakims dluzszym tekscie (nie chce przerw miedzy wierszami), nawet gdy jest/sa spacja/spacje pomiedzy nimi i zastapic to jednym <br />.

2. Chce usuwac kazde wystapienie <br /> na koncy tekstu (nie zdania, tylko calego tekstu), nawet gdy jest/sa spacja/spacje pomiedzy nimi. (po co mi lamanie tekstu na koncu tekstu winksmiley.jpg )

No i tutaj kod:
  1. // Przyklad do ptk. 1
  2. echo preg_replace("#(<br \/>[\s]*){2,}#si", "<br />", $jakis_tekst);
  3.  
  4. // Przyklad do ptk. 2
  5. echo preg_replace("#(<br \/>[\s]*)+$#si", "", $jakis_tekst);

Prosze o wypowiedz nt. tych wyrazen, czy sa one dobre, do opisanych celow, czy moga powodowac jakies (nie przewidziane przeze mnie) komplikacje?
A moze da sie to zrobic lepiej?

Ten post edytował lepmajster 30.11.2010, 23:19:26


--------------------
Naciśnij POMÓGŁ, jeśli mój post był pomocny :)
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 Aktualny czas: 19.08.2025 - 22:07