Autor Zpráva
mattyZEM
Profil
Dobrý den,

používám PHP funkci nl2br, jenže po <br> mi to vždy hodí \ n. Stejně tak, pokud následně zruším \ n přes regulární výraz \ n zůstává.

Zkoušel jsem i místo nl2br použít str_replace(), nepomohlo, \ n se přidává také.

Proč to vlastně potřebuji zrušit? Jelikož používám na jednom webu "filedb" a explode("\ n")-uji.

Neví někdo jak to udělat? Předem děkuji :)
DoubleThink
Profil *
Kromě \n ti pravděpodobně v řetězci zůstane i \r
mattyZEM
Profil
str_replace("\n","<br>",$promenna); by neměla dotahovat do scriptu \r, ne?
mattyZEM
Profil
Script který používám:
$text=str_replace("\n", "", nl2br('nějaký\npokusný\ntext',0));
echo $text;

V zdrojovém kódu vrací:

nějaký
<br>
pokusný
<br>
text

Chci:
nějaký<br>pokusný<br>text
DoubleThink
Profil *
mattyZEM:
str_replace("\n","<br>",$promenna); by neměla dotahovat do scriptu \r, ne?
Nahradí \n za <br>, případný \r tam zůstane.

$text=str_replace("\n", "", nl2br('nějaký\npokusný\ntext',0));
Stejný případ, odstraňuješ jen \n, případný \r necháváš na místě.
mattyZEM
Profil
DoubleThink:
Stejný případ, odstraňuješ jen \n, případný \r necháváš na místě.
\r by tam být nemělo, vždyť soubor vytvářím přes PHP, kde \r nepíši, a soubor jsem neupravoval...
nightfish
Profil
mattyZEM:
ad #4: pokud bude ten text v prvním parametru nl2br obalen apostrofy, tak to fungovat nebude (protože v takovém řetězci se \n "nepřeloží" na line feed)
pokud jej obalíš do uvozovek, dává to očekávaný výsledek:

nějaký<br>pokusný<br>text
mattyZEM
Profil
Pardon, to je můj zvyk, vždy používat apostrofy když můžu :)

Dávám do toho proměnnou.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0