Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
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
Yoop
post
Post #3





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

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


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


no tak, zapomnialem powiedziec
w calym tekscie, (takze w tej czesci [noWrap]) mogą wystepowac tagi html, i one musza pozostać bez zmian, wiec jeżeli wewnatrz [noWrap] bedzie <br> to ono musi zostac.
Idea jest nastepujaca
chce miec mozliwosc wpisania tekstu razem ze znacznikami html'a i znaki konca linii maja byc zamieninione na <br> chyba, ze fragment tekstu jest skryptem, czyli znajduje sie np. pomiedzy <?php i ?> lub pomiedzy <script></script> czy tez innymi jakie sobie zaloze, w takim tekscie tez oczywiscie moze sie pojawic <br> jako output skryptu, i ono musi tam zostac, ale konce linii w samym skrypcie nie moga byc zamienione na <br>

jakis pomysl?

pozdrawiam
Go to the top of the page
+Quote Post
bendi
post
Post #4





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

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


Skoro wstawiasz te br'ki recznie to proponuje dodac jedna spacje czyli
<br /> i wtedy te zostna pominiete przy zamianie.


--------------------
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: 21.08.2025 - 20:20