Создать возврат каретки в строке PHP?

Мы написали небольшой PHP Hook для нашей биллинговой системы, который открывает нам новый запрос в службу поддержки при размещении заказа. Это работает, за исключением того, что для функции API «Open Ticket» она принимает строку для сообщения, но мы не можем понять, как вставить в нее возврат каретки.

я пытался

<p>, <br>, \n, \r\n, etc.

Однако, поскольку это выглядит просто обычным текстом, все это просто читается дословно, а не превращается в символы возврата каретки.

Есть ли у кого-нибудь мысли, как это можно сделать? http://docs.whmcs.com/API:Open_Ticket


person Brett Powell    schedule 28.02.2013    source источник
comment
Возврат каретки (CR) только "\r". Я думаю, вы имеете в виду линейные тормоза.   -  person Alvin Wong    schedule 28.02.2013
comment
Учтите, что возврат каретки CR и новая строка NL отличаются от HTML Line breaks.   -  person Mahdi    schedule 28.02.2013
comment
Я не знаком с whmcs, но какие кавычки вы используете? Одиночный или двойной? В стандартном PHP одинарная строка в кавычках, такая как '\n', будет отображать \n дословно. Строка в двойных кавычках "\n" будет анализировать \n как символ новой строки.   -  person Decent Dabbler    schedule 28.02.2013


Ответы (5)


Возврат каретки - "\r". Обратите внимание на двойные кавычки!

Я думаю, вы хотите "\r\n" кстати, чтобы в тексте был разрыв строки, чтобы он корректно отображался в разных операционных системах.

  • Mac: \ r
  • Linux / Unix: \ n
  • Windows: \ r \ n
person Bram Gerritsen    schedule 28.02.2013
comment
У меня возникла проблема с созданием html-писем с помощью php. Оказалось, что проблема в использовании цитат (заголовки электронной почты должны быть определены с использованием вместо '). Этот ответ исправил это: D, спасибо. - person Tom Groentjes; 22.01.2015
comment
Обратите внимание, что только Mac OS 9 (не поддерживается с 2002 г.) и более ранние версии используют \ r. Mac OS X является вариантом UNIX и аналогичным образом использует \ n (0x0A) в качестве системного символа новой строки (как и в других системах, все еще существуют особые случаи, когда он используется, например, сброс позиции в каратах до начала строка при выводе на терминал). - person Synexis; 26.04.2016
comment
Для всех, кто читает это годы спустя, приведенное выше работает только в точности, как показано, то есть в двойных кавычках. '\r', например, работать не будет. "\r" будет работать. - person digitalformula; 20.01.2021

Также существует кроссплатформенная константа PHP 5.0.2 PHP_EOL!

Справочник по Stackoverflow

person François Breton    schedule 29.09.2015

PHP_EOL возвращает строку, соответствующую разрыву строки на платформе (LF, \ n ou # 10 для Unix, CRLF, \ n \ r ou # 13 # 10 для Windows).

echo "Hello World".PHP_EOL;
person Themer    schedule 24.04.2018

Фрагмент PHP (в консоли Cloud9):

echo "\n";
echo "1: first_srt=1\nsecnd_srt=2\n";
echo "\n";
echo '2: first_srt=1\nsecnd_srt=2\n';
echo "\n";
echo "==============\n";
echo "\n";

результирующий вывод:

  1: first_srt=1
  secnd_srt=2

  2: first_srt=1\nsecnd_srt=2\n
  ==============

Разница между 1 и 2: по сравнению с '

person Leon Rom    schedule 20.04.2017

Я считаю, что добавление <br> делает то, что нужно.

person Evan TOder    schedule 15.03.2018
comment
Ага. Я по-прежнему удивляюсь тому, насколько сложно в PHP форматировать и выводить текст, особенно во время разработки. Я понимаю, что не часто использую PHP, но ... - person tim.rohrer; 19.05.2019