$body = isset($post[1]) ? preg_replace('#(\\\r|\\\r\\\n|\\\n)#', '<br/>', $post[1]) : false;
Вам понадобятся три \\\
.Внутри одинарных кавычек \\
преобразуется в \
, поэтому \\\r
становится \\r
, который передается в функцию preg_replace
.
Движок PREG имеет собственный набор escape-последовательностей, а \r
- этоодин из них, что означает ASCII символ # 13.Чтобы заставить механизм PREG выполнять поиск литерала \r
, вам нужно передать строку \\r
, которую необходимо снова экранировать, поскольку она содержится в одинарных кавычках.