Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: str_replace ja \n

talikko [06.10.2010 13:57:20]

#

Miksi str_replace funktio ei löydä \n tai \r

Seuraava ei toimi:

$description = str_replace(array("\r", "\r\n", "\n"), '', $description_orig);

\n ja \r merkit tallentuvat tämänkin jälkeen.

villev [06.10.2010 14:04:34]

#

Olisiko ongelma noiden hakusanojen järjestyksessä?

<?php
// Order of replacement
$str     = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order   = array("\r\n", "\n", "\r");
$replace = '<br />';

// Processes \r\n's first so they aren't converted twice.
$newstr = str_replace($order, $replace, $str);
?>

(https://www.php.net/str_replace, Example #2)

-tossu- [06.10.2010 15:22:25]

#

talikko kirjoitti:

Seuraava ei toimi:

Hyvin tuo näytti toimivan, kun testasin. "\r\n":ää ei tosin tarvitse poistaa, jos "\r" ja "\n" poistetaan.

villev kirjoitti:

Olisiko ongelma noiden hakusanojen järjestyksessä?

Järjestyksellä on väliä, mikäli korvataan jotain, mutta ei silloin kun poistetaan, eli korvataan tyhjällä.

talikko [06.10.2010 18:07:06]

#

Käsittämätöntä, mun piti tehdä se näin
$description = str_replace(array("\\r", "\\n"), '', $description_orig);
Ja tämän jälkeen jäi jäljelle vielä yhdet kauttaviivat jotka piti ottaa pois stripslashella.

Jäi mainitsematta, että tuo description tulee textareasta. Liittyykö jotenkin tähän, en tiedä.

Grez [06.10.2010 18:20:39]

#

Eihän siinä mitään uskomatonta ole. Se vaan tarkoittaa sitä, ettei tekstissäsi ollut rivivaihtoja ollenkaan vaan \r ja \n merkkiyhdistelmiä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta