PHP, MYSQL, textarea enterek lecserélése szóközökre a táblában?
Van egy formom, amivel a textarea tartalmát az adatbázisba teszem, alatta pedig ki listázza azt, ami eddig be lett téve.
PROBLÉMA:
textarea-ba írt szöveg:
a
b
c
d
e
AMIT AZ ADATBÁZISBA TESZ:
a
b
c
d
e
AMIT AZ OLDALRA KIÍR:
a b c d e
Azt szeretném, hogy a táblázatban is úgy jelenjen meg, ahogy az oldalra írja ki, tehát az enterek helyett szóközök legyenek.
Ezt hogyan lehetne megoldani?
$frissitett_bemenet = str_replace("\n", "",$_POST['bemenet']);
Ezt próbáltam meg, majd a frissitett_bemenet-et insertelni a táblába, de ugyan úgy fenn áll a probléma.
Ez teljesen normális viselkedés, és nem azon kell változtatni, ahogyan az adatbázisban tárolod - ennek ugyanis így kell működnie. A probléma az, hogy amikor megjeleníted, nincs HTML kódokkal formázva a szöveged.
Erre a legegyszerűbb megoldás az nl2br függvény a PHP-ban, ami az újsor-karaktereket <br> HTML elemekre cseréli le.
Viszont, a sortörés a modern szövegszerkesztőkben új bekezdést szokott jelenteni, tehát a <br> helyett jobb lenne <p></p> elemek közé tenni:
$variable = str_replace("\n", "</p>\n<p>", '<p>'.$variable.'</p>');
Nem hittem volna, hogy egy ilyen egyszerű kérdést nem sikerül felfogni, de látom tévedtem.
"minek?"
Ehhez semmi közöd. A kérdés egyértelműen le lett írva, ha nem tudsz választ adni, menj tovább másik kérdésre. Ennyi.
Én értem. Azt akarod, hogy ne legyen sortörés (így hívják és nem enternek!) a rekordban.
Mielőtt beviszed az adatokat meg kell vizsgálni, hogy van e sortörés, ha nincs akkor az adott változó mehet a táblába. Ha van akkor trimmeled a sortörést és belerakod az értékeket egy új változódba, és az új változó értéket rakod bele az adatbázisba. Igy is lehet.
Jó ötlet, köszi. Utánad volt egy gyenge válaszoló, az ő kommentjeire reagáltam.
Köszi
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!