Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Usuwanie między znacznikami
Ziels
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


Witam!

Mam problem z usuwaniem znaku końca lini (\n) spomiędzy okreslonych znaczników. Dokładniej chodzi o to że w zmiennej mam przechowywane:

  1. <?php
  2. $text="jakiś bardzo długi tekst w którym mają być wstawione <br> zamiast /n w wyniku końcowym [znacznik]a
  3. tutaj
  4. ma wycinać
  5. n[/znacznik]
  6. ?>


Da się to jakoś zrobić? strstr nie wchodzi w drogę bo za każdym razem "jakiś bardzo długi tekst" będzie inny. Nie mam pojęcia co do tego się nada - str_replace() jest złe również, ponieważ przy takim przetwarzaniu:
  1. <?php
  2. $str = preg_replace("#<!--c1--><div class='codetop'>KOD</div><div class='codemain'><!--ec1-->(.*?)<!--c2--></div><!--ec2-->#si", "efekt", $str);
  3. $str = str_replace('n', '', '[znacznik](.*?)[/znacznik]');
  4. ?>

$str będzie miało na końcu wartość "[znacznik](.*?)[/znacznik]"...

Ten post edytował Ziels 3.08.2006, 11:38:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ziels
post
Post #2





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


Nie rozumiesz - jeśli wsadzę nl2br($text); to w znaczniku też zamieni - a nie powinno.

Chyba że to ja źle zrozumiałem - gdzie to pownienem wsadzić?


Poprostu - z formularza przekazuję dane przy pomocy zmiennej, i tam zamienia wszystkie /n na <br>. Mój problem to jak "pominąć" zamianę na obszarze:
[wywal \n]jakiś tekst w którym ma wycinać
\n[/wywal \n].

Jeśli istnieje funkcja taka jak strstr() ale zamiast argumentów liczbowych mógłbym podać początek i koniec znacznika byłoby to najlepsze rozwiązanie - ale podejrzewam że nie istnieje.

Ten post edytował Ziels 3.08.2006, 09:29:04
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: 6.10.2025 - 09:51