Autor | Zpráva | ||
---|---|---|---|
lojza Profil * |
#1 · Zasláno: 25. 11. 2013, 16:44:16 · Upravil/a: lojza
jak muzu v php v rozsahlem textu ktery mam v databazi najit a nahradit prazdny odstavec?
toto je blbost ? $zaznam = str_replace("<p>"." "."</p>", '<br>', $zaznam); |
||
shaggy Profil |
#2 · Zasláno: 25. 11. 2013, 16:52:36
lojza:
„toto je blbost ?“ Ak chceš nájsť presne <p> </p> (aj s medzerou uprostred), tak to nie je blbosť. Ale samotný zápis je blbosť, prečo spájaš reťazec, prečo rovno nenapíšeš? str_replace("<p> </p>", '<br>', $zaznam); |
||
Kubo2 Profil |
lojza:
„najit a nahradit prazdny odstavec“ Čo definuješ pod pojmom prázdny odstavec? Ak si pod tým predstavuješ značky paragraph s medzerou uprostred, tak ti kód od shaggyho postačí, ale ak chceš niečo zložitejšie a všeobecnejšie, môžu pomôcť regulárne výrazy (a predpokladám, že pomôžu): <?php // ... // RegExp pre prázdny odstavec $regexp_emptyParagraph = "~[\s\r\n]*<p>[\s\r\n]*</p>[\s\r\n]*~i"; // odstránenie všetkých prázdnych odstavcov pomocou PHP PCRE $zaznam = preg_replace($regexp_emptyParagraph, "\n<br>\n", $zaznam); // robím niečo so záznamom // ... Edit: Pozri na online PHP shell pre výsledok scriptu (99,8% funkčnosť). |
||
Joker Profil |
#4 · Zasláno: 26. 11. 2013, 07:34:19
lojza:
To záleží, co je vlastně „prázdný“ odstavec a jaké všechny styly prázdných odstavců to má umět. Z příkladu v [#1] soudím, že odstavec obsahující jen bílé znaky je taky „prázdný“. Takže příklady „prázdných“ odstavců (v HTML) mohou být třeba: <p> <p> </p> <p> </p> <p><h2>Nadpis</h2> Kdyby to mělo zachytit všechny, musel by se použít HTML parser. |
||
Časová prodleva: 10 let
|
0