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
here it is
str_replace('|',"\n",$string);
when \\n is placed in double qouted string it changes to a new line
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"
).
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);
There is more generic case where eg '' 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");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.