Php white space: How to add extra whitespace in PHP?

Содержание

Понимание PHP, HTML и пробелов

Прежде чем я углублюсь в глубины использования PHP для отправки HTML и других данных в веб-браузер, важно полностью понять процесс PHP. С помощью PHP вы можете отправлять данные (комбинацию тегов HTML и текста) в веб-браузер, который, в свою очередь, отображает их в виде веб-страницы, которую видит конечный пользователь. Таким образом, то, что вы делаете с PHP, — это создание исходного HTML-кода веб-страницы. Наглядно это означает, что PHP генерирует HTML-код, показанный на рис. 1.6 (доступ к которому можно получить, выбрав View > Source или View > Page Source в браузере), который веб-браузер превратит в рисунок 1.7.

Рисунок 1.6. Вы будете использовать PHP для создания HTML-кода веб-страницы (подобной этой)…

Рисунок 1.7. …который веб-браузер затем превращает в хорошо отформатированное изображение.

Имея это в виду, существует три основных области, в которых вы можете влиять на интервалы: в PHP-скриптах, в исходном HTML-коде и в отображаемой веб-странице. Дополнительные пробелы, табуляции и пустые строки, которые вы создаете, обычно называются пробелами.

PHP, как правило, нечувствителен к пробелам, а это означает, что вы можете расставлять пробелы в своем коде так, как хотите, чтобы ваши скрипты были более разборчивыми. HTML также обычно нечувствителен к пробелам. В частности, единственным пустым пространством в HTML, влияющим на отображаемую страницу, является один пробел (несколько пробелов по-прежнему отображаются как один). Следовательно, HTML-код на рис. 1.8 создаст ту же страницу (см. рис. 1.7), что и HTML-код на рис. 1.6.

Рисунок 1.8. Лишние пробелы в исходном коде HTML не повлияют на внешний вид страницы (см. рис. 1.7), но могут облегчить просмотр исходного кода.

Чтобы изменить интервал готовой веб-страницы, используйте теги HTML
(разрыв строки,
в старых стандартах HTML) и

(абзац). Чтобы изменить интервал между исходным кодом HTML, созданным с помощью PHP, вы можете

Я продемонстрирую оба этих метода в следующем сценарии.

Для создания пустого пространства

1.

Откройте файл second.php (см. сценарий 1.3) в текстовом редакторе.

2.

При желании измените заголовок страницы (Скрипт 1.4).

 Пробел 

Скрипт 1.4. Этот сценарий демонстрирует различные типы пробелов, созданных в коде PHP, исходном коде HTML и отображаемой веб-странице.


3.

При желании удалите жестко запрограммированную строку HTML:

Это стандартный HTML.

(строка 9).

4.

После начального тега PHP нажмите Return или Enter.

Пустая строка, созданная клавишей Return/Enter, не повлияет на сценарий PHP, исходный код HTML или отображаемую HTML-страницу, но сделает сценарий PHP более разборчивым (менее перегруженным).

5.

Измените существующий оператор echo() так, чтобы он выполнялся по нескольким строкам.

 echo 'Этот оператор echo() занимает две строки!'; 

Как вы увидите после выполнения этого скрипта, клавиша Return/Enter, нажатая в середине предложения (так, чтобы переход начинался на следующей строке), создает исходный HTML-код, состоящий из двух строк. Это работает, потому что инструкция echo() продолжается до тех пор, пока не встретится с завершающей одинарной кавычкой.

6.

Введите еще один оператор echo(), в котором используются символы разрыва строки и новой строки.

 echo "
Эта строка должна отображаться на веб-странице отдельно.\n\n";

В этом заявлении я достигаю двух целей. Во-первых, я отправляю символ разрыва, чтобы веб-браузер отображал это предложение в отдельной строке. Во-вторых, я завершаю оператор двумя символами новой строки, чтобы повлиять на исходный код HTML (чтобы новая строка работала, вы должны использовать двойные кавычки).

7.

Добавьте последний оператор echo().

 echo 'Все готово.'; 

Здесь я использовал одинарные кавычки, но чтобы напечатать одинарную кавычку (или апостроф) в I’m, мне нужно экранировать символ.

8.

Сохраните файл как whitespace.php, загрузите его на веб-сервер и проверьте в веб-браузере (рис. 1.9).

Рисунок 1.9. Единственный способ изменить интервал отображаемой веб-страницы — использовать теги HTML, такие как

(см. рис. 1.10).


Рисунок 1.10. Сценарий PHP создает часть этого HTML-кода, который затем отображается браузером в соответствии с общими правилами форматирования (см. рис. 1.9).

Вы должны увидеть, что единственный интервал, созданный этим сценарием на окончательной веб-странице, был выполнен с помощью
, который печатается между строками! и Эта строка.

9.

Просмотр исходного HTML-кода страницы (рис. 1.10).

В зависимости от вашего браузера, вы можете сделать это,

  • Перейдя в меню «Вид» и выбрав «Источник» или «Источник страницы».

    или

  • Щелкните правой кнопкой мыши на веб-странице и выберите «Просмотр исходного кода» или «Просмотр исходного кода страницы» (Windows).

    или

  • Щелкните веб-страницу, удерживая клавишу Control, и выберите «Просмотр исходного кода» или «Просмотр исходного кода страницы» (Macintosh).
В исходнике HTML видно, что лишний пробел в коде PHP не передается. Использование символа новой строки (см. сценарий 1.4, строка 14) или продолжение оператора на нескольких строках (строки 11 и 12) влияет на исходный код HTML, но не на визуализируемую веб-страницу.

Советы

  • Широко используйте пробелы в своих PHP-скриптах, чтобы упростить их кодирование и редактирование.

  • При использовании PHP для генерации HTML вы должны попытаться сделать исходный HTML-код максимально читаемым, если вам нужно просмотреть и отладить необработанный исходный HTML-код.

  • При этом, в интересах экономии места в книге, сценарии, написанные здесь, не будут столь либеральны с пробелами, как те, которые я обычно пишу (или которые я бы рекомендовал вам писать).


    Лучшее управление пробелами в шаблонах Twig (блог Symfony)

    24 июня 2019 г. · Опубликовано Javier Eguiluz

    Управление пробелами в шаблонах Twig позволяет управлять отступами и интервал сгенерированного содержимого (обычно код HTML). Управление белым пробелы очень важны при использовании Twig для создания содержимого, такого как YAML, текст электронные письма или любой другой формат, где пробелы являются значительными.

    Напротив, при создании содержимого HTML в большинстве случаев следует игнорировать эта функция, потому что содержимое HTML минимизируется и сжимается перед отправляя их пользователям, поэтому попытка создать идеально выровненный HTML-код просто пустая трата времени.

    Однако есть некоторые особые случаи, когда пробелы могут изменить то, как отображаются. Например, когда элемент содержит пробелы после текст ссылки и ссылка отображается подчеркиванием, пробел виден. Вот почему Twig предоставляет несколько способов управления пробелами. В последнее время Версии Twig, мы улучшили эти функции.

    Рассмотрим следующий фрагмент кода Twig:

    Если значением some_variable является 'Lorem Ipsum' , HTML-код генерируется, когда , если выражение соответствует, будет следующим:

    Twig по умолчанию удаляет только первый символ \n после каждого тега Twig. ( \n после тегов if и endif в предыдущем примере). Если вы хотите сгенерировать HTML-код с лучшим отступом, вы можете использовать - символ, который удаляет все пробелы (включая новые строки) слева или справа от тега:

    Вывод теперь:

    Начиная с Twig 1.

    39 и 2.8.0, у вас есть еще один вариант управления пробел: символ ~ (который можно применить к {{ , {% и {# ). Это похоже на - , с той лишь разницей, что ~ не удалить новые строки:

    Вывод теперь содержит символы новой строки после/перед

  • тегов, поэтому сгенерированный HTML больше похож на исходный код Twig, который вы написали:

    В предыдущих версиях Twig был тег {% spaceless %} , преобразовал данное строковое содержимое, чтобы удалить пробелы между HTML теги. Однако в Twig преобразование некоторого содержимого перед его отображением что-то сделали фильтры.

    Вот почему, начиная с Twig 1.38 и 2.7.3, тег

    без пробелов был устарел в пользу фильтр без пробелов , который работает точно так же:

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

    Если вы пропустили это, тег apply был недавно добавлен для замены тега предыдущий фильтр тег.

    В любом случае, даже после этих изменений, по-прежнему не рекомендуется использовать без пробелов слишком сильно фильтруют. Удаление пробелов с помощью этого фильтра происходит во время выполнения, поэтому повторный вызов может снизить производительность.

    Эта новая функция, представленная в Twig 1.39 и 2.8, не связана с пробелами. управления, но это важная новая функция, которую следует учитывать в ваших шаблонах. Рассмотрим следующий пример и результаты, отображаемые в версиях Twig до 1.39 и 2.8:

    Причина, по которой этот пример работал таким образом в предыдущих версиях Twig, заключается в том, что в первом тернарном выражении foo помечен как безопасный, а Twig делает не избегать статических значений. Во втором тернарном утверждении, даже если фоо это отмечен как безопасный, bar остается небезопасным, как и все выражение.

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *