Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [regexp] - replace z pomijaniem fragmentow, zamienia znakow, w niektorych czesciach
Yoop
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.09.2004

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


Witam

mam taki tekst mniej wiecej:
"dowolny tekst (z koncami linii) [noWrap] tutaj ma byc tekst bez zawijania[/noWrap]
coss dalej i znowu [noWrap] tutaj ma byc jakis inny tekst bez zawijania[/noWrap] i znowu cos dalej"

no i chce zamienic w calym tekscie powyzej znaki konca lini na <br>, z wyjatkiem tych fragmentow, ktore znajduja sie w bloku [noWrap][/noWrap]

Moge to zrobic w trzech krokach: podminic skrypty na jakies oznaczenia, pozamieniac konce lini i z powrotem wstawic skrypty w miejsce oznaczen. Wolalbym jednak zrobic to za jednym zamachem, stad pytanie: czy da sie to jakos zalatwić jednym wyrazeniem ?

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bendi
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


A moze tak:
- najpierw zamienic wszystkie znaki nowej linii na <br />
- pozniej usunac te znaczniki spomiedzy [noWrap] [/noWrap]

  1. <?
  2. $sString = preg_replace( '%[noWrap](.*?)[/noWrap]%sie', 'str_replace(\"<br />\"\"n\"\"$1\")', nl2br( $sString ) ); ?>


Jezeli chcesz zeby same znaczni noWrap pozostaly w tekscie wpisz zamiast $1, $0 i bedzie ok.
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: 26.12.2025 - 20:39