13

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

0

4 Answers 4

27

here it is

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

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

Sign up to request clarification or add additional context in comments.

Comments

11

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").

Comments

4

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);

Comments

0

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");

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.