Як додати розрив рядка в луні в PHP? [зачинено]


92

Я намагався додати розрив рядка для речення, і додав /n у наступному коді.

echo "Thanks for your email. /n  Your orders details are below:".PHP_EOL;
echo 'Thanks for your email. /n  Your orders details are below:'.PHP_EOL;

З якихось причин у результаті я отримав помилку сервера. Як це виправити?


4
використовуйте зворотну скісну риску, це неправильно уникнув символ \n. Але помилка сервера не пов’язана з цією спробою, загляньте в журнал apache і перевірте __(arg)документи
Marek Sebera

1
Ласкаво просимо до Stackoverflow. Будь ласка, дотримуйтесь порад, які вам потрібно було підтвердити, перш ніж публікувати будь-яке питання. Майте на увазі, що лише ви чогось хочете, і ви запитуєте себе, як це запрограмовано, не є кваліфікованим питанням програмування як таке.
hakre

Відповіді:


255

\n- це розрив рядка. /nне.


використання \nс

1. луна безпосередньо на сторінку

Тепер, якщо ви намагаєтесь перенести рядок на сторінку:

echo  "kings \n garden";

вихід буде:

kings garden

ви не потрапите gardenв новий рядок, оскільки PHP - це мова на сервері, і ви надсилаєте вихідні дані як HTML, вам потрібно створити розриви рядків у HTML. HTML не розуміє \n. Для цього потрібно використовувати nl2br()функцію.

Що це робить:

Повертає рядок із <br />або <br>вставленим перед усіма новими рядками (\ r \ n, \ n \ r, \ n та \ r).

echo  nl2br ("kings \n garden");

Вихідні дані

kings
garden

Примітка.Переконайтесь, що ви лунаєте / друкуєте \nу подвійних лапках, інакше це буде відображатися буквально як \ n. тому що інтерпретатор php аналізує рядок в одній лапці з поняттям як є

so "\n" not '\n'

2. записати в текстовий файл

Тепер, якщо ви переходите на ехо в текстовий файл, ви можете використовувати просто, \nі він перенесеться на новий рядок, наприклад:

$myfile = fopen("test.txt", "w+")  ;

$txt = "kings \n garden";
fwrite($myfile, $txt);
fclose($myfile);
 

вихід буде:

kings
 garden

1
Розширюючи вищезазначене. Це працює - приклад -> echo "<html>". "\ N"; або відлуння "саду царів". "\ n"; який додає розрив рядка після першого рядка. Google привів мене сюди, коли я хотів додати розриви рядків після відлуння.
MarcoZen

18

Ви повинні використовувати br, коли використовуєте ехо, наприклад:

echo "Thanks for your email" ."<br>". "Your orders details are below:"

і він буде працювати належним чином


1
Це не працюватиме для html-документів
MarcoZen

1
Це не спрацює, коли ви повторюєте їх у мовному файлі на стороні php / сервера
MarcoZen

13

Символ нового рядка має \nтакий вигляд:

echo __("Thanks for your email.\n<br />\n<br />Your order's details are below:", 'jigoshop');

Що таке префікс __(два підкреслення)?
Пітер Мортенсен

1
@PeterMortensen Це функція в деяких фреймворках для підтримки інтернаціоналізації. Оригінальний пост використовував його, тому я додав його до своєї відповіді.
noetix

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.