3v4l.org

run code in 500+ PHP versions simultaneously
<?php $doc_comment = "test\r\nreturns\rare\r\nreplaced as expected"; print "\n\npreg_replace (broken):\n"; var_dump(preg_replace('/\r\n|\r/', '\n', $doc_comment)); print "\n\npreg_replace (fixed):\n"; var_dump(preg_replace('/\r\n|\r/', "\n", $doc_comment)); print "\n\nstr_replace:\n"; var_dump(str_replace(['\r\n', '\r'], ['\n', '\n'], $doc_comment)); print "\n\nstr_replace (double quotes):\n"; var_dump(str_replace(["\r\n", "\r"], "\n", $doc_comment));
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.34, 8.3.0 - 8.3.35, 8.4.1 - 8.4.26, 8.5.0 - 8.5.11
preg_replace (broken): string(40) "test\nreturns\nare\nreplaced as expected" preg_replace (fixed): string(37) "test returns are replaced as expected" str_replace: string(39) "test returns are replaced as expected" str_replace (double quotes): string(37) "test returns are replaced as expected"

preferences:
31.91 ms | 1138 KiB | 7 Q