Reputation: 3014
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
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
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
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
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