Autor | Zpráva | ||
---|---|---|---|
milbr Profil * |
#1 · Zasláno: 14. 11. 2009, 10:18:54
Přeji pěkný den,
chtěl bych Vás poprosit o radu, jak řešíte formátování textu v php. Hledal jsem tady v diskuzi ale nic jsem nenašel. Asi by pomohlo preg_replace a ale nemám s ním moc velké zkušenosti. Používám nl2br na odsazení textu ale to nevyřeší toto. Mám v databázi toto: Toto je nadpis druhé úrovně //tady je nadpis který potřebuji do <h2></h2> Text TextTextTextTextTextTextTextTextv //Tady je nějaký text v odstavci, který potřebuji do <p></p> Tady opět nadpis druhé úrovně // tady je nadpis který potřebuji do <h2></h2> Děkuji moc za pomoc a přeju pěkný den. Milan |
||
Joker Profil |
#2 · Zasláno: 14. 11. 2009, 13:24:22
milbr:
A podle čeho se v tom vstupním textu pozná co je nadpis a co je text? Nebo je tohle taky součást dotazu? V tom případě může být několik metod: - nejjednodušší je posílat vstup přímo v HTML (třeba přes různé WYSIWYG editory apod)... akorát je pak třeba vyházet nepovolené tagy - pak je třeba BBCode, Texy! apod. |
||
milbr Profil * |
#3 · Zasláno: 14. 11. 2009, 16:28:38
Joker:
Děkuji za odpověď, upřesním svůj dotaz. Přebral jsem úpravu stránek a v databázi je text tak jak jsem ho uvedl výše. Nechce se mi předělávat celou strukturu jak databáze tak následného výpisu. Pomocí nl2br jsem alespoň odsadil text, je pravda že nelze rozeznat co je text a co nadpis. Jak by se to tedy dalo vyřešit když bych např. před nadpis dal * a tu nahradil <h2> to jde pomocí str_replace, nevím ale jak mám ten tag ukončit, nechce se mi tam psát další rozpoznávací znak. Ještě jednou moc díky Milan. |
||
Alphard Profil |
#4 · Zasláno: 15. 11. 2009, 01:16:40
milbr:
„nevím ale jak mám ten tag ukončit“ Je ukončen koncem řádku, ne? |
||
milbr Profil * |
#5 · Zasláno: 15. 11. 2009, 14:49:49
Alphard:
Děkuji za odpověď prosím o vysvětlení toho konce řádku, když použiji toto $box6 = str_replace("*", "<h2 class=\"nadpis_box\">", $nadpisy['box6_cz']); Moc Vám děkuji MIlan |
||
Alphard Profil |
#6 · Zasláno: 15. 11. 2009, 16:00:41
$text = preg_replace("~\*(.+)\n~U", '<h2>$1</h2>', $text); |
||
milbr Profil * |
#7 · Zasláno: 16. 11. 2009, 10:50:20
Alphard:
Musím moc poděkovat, vyzkoušel jsem to a je to paráda, funguje bez problémů. Ještě jednou moooooc díky! Problém vyřešen. Pěknej den přeje všem Milan |
||
Časová prodleva: 9 měsíců
|
|||
milbr Profil * |
#8 · Zasláno: 21. 8. 2010, 13:20:50
Pěkné odpledne,
chtěl bych se vrátit k mému staršímu příspěvku a poprosit Vás, zda by nešlo míst o hvězdičky $text = preg_replace("~\*(.+)\n~U", '<h2>$1</h2>', $text); Moc děkuji všem Milan |
||
Časová prodleva: 13 let
|
0