Открыто ли использование разрывов строк в PHP-коде?

0

У меня есть следующий код, где я использую HTML 4.01 Строго:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>

<body>

<?php echo "Hello World!"; ?> <br>
<?php echo "Hello World!"; ?> <br>

</body>
</html>

Тем не менее, использование <br> тегов <body> теги не допускается стандартом HTML 4.01. Итак, должен ли я заключить свой PHP-код в теги абзаца?

  • 3
    Это не имеет ничего общего с PHP. Это стандарты HTML.
  • 0
    Я не видел код PHP, написанный на <p> во многих книгах, поэтому мне интересно, стоит ли мне добавлять необходимые теги там, где это необходимо. Также сказано использовать тег <br /> с пробелом и косой чертой, как правило.
Показать ещё 3 комментария
Теги:
standards

2 ответа

1
Лучший ответ

"Действительный" - очень широкий термин.

  • Синтаксически корректно - да, код будет работать без ошибок
  • Семантически правильный PHP-PHP на самом деле не имеет понятия семантики, отличной от передовой практики. Некоторые утверждают, и другие против комбинирования PHP-кода с HTML вообще, поэтому некоторые из них подумают о том, что вы делаете неправильно, по разным причинам.
  • Семантически правильный HTML - вы должны рассмотреть HTML, который визуализируется PHP как HTML, который должен быть семантически правильным. Это должно быть проверено, а не входной код PHP/HTML. Я не знаком со стандартом 4.01, так что если вам нужно следовать за ним, и он говорит, что не использовать <br> в <body> (звучит как причудливое правило для меня, хотя), то просто убедитесь, что выходной код правильно использует теги <p>. Похоже, это потребует окружения php-блоков с помощью <p></p> в этом конкретном случае.
0

Тем не менее, использование <br> тегов в тегах не допускается стандартом HTML 4.01.

В DTD для HTML 4.01 Strict (http://www.w3.org/TR/html401/strict.dtd) элемент BR классифицируется как "специальный" и, следовательно, "inline". Но модель контента элемента BODY не допускает "встроенного" контента, только элементы "block" (плюс несколько других: SCRIPT, INS, DEL).

Таким образом, по отношению к HTML, сгенерированного вашим пример PHP кода, это не только <br> теги, которые являются недопустимыми, это также Hello World! - этот встроенный контент тоже.

Итак, должен ли я заключить свой PHP-код в теги абзаца?

Ну, это не должно было быть тегами <P>, любой элемент уровня блока мог бы сделать, насколько это касается DTD-действительности. Но P, вероятно, будет лучше. (Или вы могли бы рассмотреть PRE.)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню