Autor Zpráva
ben
Profil *
Potřeboval bych odstranit konec řádku z obsahu proměnné (enter, zadaný do proměné ve formuláři)
Pokoušel jsem se použít něco ve smyslu:

$trans = array("
" => " xxx ");

$popis_1 = strtr("$popis_1", $trans);


ale funguje to na cokoliv jiného jen ne na
, pro 
 to najde správné místo a vloží nový řetězec, ale konec řádku tam zůstane.


Může mi někdo poradit nebo nasměrovat na vhodný zdroj? Díky
mylan
Profil
Nehľadáš funkciu trim? http://cz2.php.net/trim
ben
Profil *
Omlouvám se, nemám moc zkušeností s diskusemi, pokusím se to opravit, to co tam chybí je právě ten konec řádku:

trans = array("\n" => " xxx ");
$popis_1 = strtr("$popis_1", $trans);

ale funguje to na cokoliv jiného jen ne na
\n
, pro
\n
to najde správné místo a vloží nový řetězec, ale konec řádku tam zůstane.

snad se to tentokrát povede
ben
Profil *
myslím, že ne, je to uprostřed textu
bukaj
Profil
pokud se chceš zbavit jakéhokoli řádkování, tak: str_replace(" ", "", $popis_1);
ben
Profil *
To taky není ono, takto odstraním všechny mezery. Jedná se o několik slov nebo větu z formuláře a potřeboval bych jen odstranit enter, pokud ho tam někdo vloží.
Zerog
Profil
udelej to pres funkci
str_replace($text,"tady proste zmackni enter

")
a
Profil *
$popis=str_replace("\n", "", $popis);
Martin2
Profil *
trim
ben
Profil *
Díky za rady, ale nedaří se. Pokusím se to nějak obejít.

udelej to pres funkci
str_replace($text,"tady proste zmackni enter
")


nebo

$popis=str_replace("\n", "", $popis);

se chová stejně, místo je nalezeno (případně lze doplnit nový znak, ale konec řádku stále zůstává.
bukaj
Profil
ale konec řádku stále zůstává.
na jakém jedeš systému (popř. kódování). pro každý totiž konce řádku znamenají něco jiného.
konce řádků:
- linux: \n
- windows: \r\n
- mac os: \r
ben
Profil *
Díky za nakopnutí, server sice běží na linuxu, ale formulář je vyplňován z Win a následně jsou data z proměnné předána do emailu a čtena opět ve Win, takže se tam skutečně objeví \r\n a jelikož jsem zaměňoval pouze \n, byl výsledek prezentován stále s koncem řádku.
Takže po opravě funguje již ta první funkce správně.
Ještě jednou dík
krteczek
Profil
jen doplním:
$nahradit = array("\r" => '', "\n" => '');
$text = strtr($text, $nahradit);
krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.