Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z formatowaniem
maciu
post 19.10.2003, 12:46:15
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


Wpisany tekst do bazy danych ma postać:

1. jakis tekst
<BR>
2. jakis tekst

wtedy, kiedy wpisywałem ten tekst nie wiedziałem jeszcze o istnieniu takich funkcji jak nl2br() czy strip_tags()

Chcę się pozbyć z bazy danych znaków <BR>, równocześnie zastosuje funkcje n2lbr, aby "akceptował" entery.

Jeżeli wpisze:
[php:1:f039b6b100]
$tresc = strip_tags($tresc);
$tresc = nl2br($tresc);
[/php:1:f039b6b100]
do wyżej napisanego przykładu to tekst zostanie sformatowany z uwzględnieniem dwóch "enterów" (jeden po wyrażeniu "jakis tekst" a drugi w miejsce <BR>). W jaki sposób zrobić aby tekst był sformatowany tylko z jednym enterem?
Go to the top of the page
+Quote Post
KaMeLeOn
post 19.10.2003, 12:52:32
Post #2





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

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


[php:1:0d93466bf1]<?php
$tresc = str_replace('<br>' , '', $tresc);
$tresc = strip_tags($tresc);
$tresc = nl2br($tresc);
?>[/php:1:0d93466bf1]


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
KSKiller
post 19.10.2003, 12:53:57
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 26.07.2003

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


Nie podam Ci gotowego rozwiazania w kodzie poniewaz sam zaczynam dopiero przygode z php, ale mozesz pozniej zastapic dwa nastepujace po sobie entery jednym- czyli np. ciag "nn" zastapic "n" (chyba za pomoca preg_replace da sie to zrobic)
Go to the top of the page
+Quote Post
maciu
post 19.10.2003, 18:26:06
Post #4





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


Cytat
[php:1:f5aca0dedf]<?php
$tresc = str_replace('<br>' , '', $tresc);
$tresc = strip_tags($tresc);  
$tresc = nl2br($tresc);
?>[/php:1:f5aca0dedf]


ten sposób nic nie rozwiązuje, bo nadal są dwa entery. Ten sposób usuwa znaki <BR>, ale nie usuwa jednego entera. Jest na to jakiś sposób?
Go to the top of the page
+Quote Post
maciu
post 19.10.2003, 18:31:45
Post #5





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


Cytat
Nie podam Ci gotowego rozwiazania w kodzie poniewaz sam zaczynam dopiero przygode z php, ale mozesz pozniej zastapic dwa nastepujace po sobie entery jednym- czyli np. ciag "nn" zastapic "n" (chyba za pomoca preg_replace da sie to zrobic)


w kodzie nie mam znaków /n tylko entery kliknięte na klawiaturze
Go to the top of the page
+Quote Post
jono
post 19.10.2003, 18:31:59
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

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


[php:1:eb383fa82d]<?php
<?php
$tresc = str_replace("rn" , '', $tresc);
$tresc = str_replace('<br>' , "rn", $tresc);
$tresc = strip_tags($tresc);
?>
?>[/php:1:eb383fa82d]


--------------------
if(function_exists("zrozum_kobiete")){
echo "Niemożliwe!"; exit;}
Go to the top of the page
+Quote Post
maciu
post 20.10.2003, 07:48:51
Post #7





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


Cytat
[php:1:ea466efbbe]<?php
<?php  
$tresc = str_replace("rn" , '', $tresc);  
$tresc = str_replace('<br>' , "rn", $tresc);  
$tresc = strip_tags($tresc);  
?>  
?>[/php:1:ea466efbbe]


dziękuje za pomoc. Tylko jedna mała uwage, nie potrzebny jest kod:
[php:1:ea466efbbe]
$tresc = strip_tags($tresc);
[/php:1:ea466efbbe]
ponieważ chciałem, aby jeden enter pozostał.
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 Wersja Lo-Fi Aktualny czas: 25.07.2025 - 01:54