Oleg
Oleg

Reputation: 3014

php - replace string occurrences

I have a string "First line | second line | third line" How can I replace | with a new line character?

I'm trying to use preg_replace but with no liuck

Upvotes: 13

Views: 20174

Answers (4)

CodeToLife
CodeToLife

Reputation: 4151

There is more generic case where e.g. '' serves as replacwment string:

//  Provides: Hll Wrld f PHP
$vowels = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"];
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

Upvotes: 0

Dan Bray
Dan Bray

Reputation: 7822

Use this:

str_replace('|', PHP_EOL, $str);

You should use PHP_EOL instead of "\n" because PHP_EOL will always work on all server platforms. (NB. Windows uses "\r\n" and unix/linux uses "\n").

Upvotes: 11

chiborg
chiborg

Reputation: 28094

Using strtr is a tad faster than str_replace or preg_replace.

echo strtr($string,'|', "\n");

Mind the double quotes around the \n.

Also, if you want to output HTML, a newline char is not sufficient, you need to replace it with <br /> tags.

echo str_replace("|", "<br />\n", $string);

Upvotes: 3

EaterOfCode
EaterOfCode

Reputation: 2222

here it is

str_replace('|',"\n",$string);

when \n is placed in double qouted string it changes to a new line

Upvotes: 26

Related Questions