По соглашению с комментатором «Почему этот битый HTML генерируется в первую очередь?», Если вы представляете такие документы, то у вас будут именно те проблемы, которые у вас есть в данный момент.Существует две допустимые ситуации:
- У вас есть некоторые данные (без HTML-кода), например, набор строк в PHP
- У вас есть HTML-документ, содержащий теги и текст, который является HTMLescaped
Поэтому, когда вы генерируете HTML-документ из ваших исходных данных (строк, базы данных), вам необходимо выполнить их экранирование (например, используя htmlspecialchars , как правильно указал другой ответчик)..)
Вы должны любой ценой избегать ситуации, когда у вас есть строка, подобная вашей, которая имеет HTML-теги и неэкранированный текст.
Например, если вы отправляете текстсодержал текст <b>text</b>
, и вы буквально хотели, чтобы этот текст отображался в HTML-документе, т.е. вы хотели, чтобы угловые скобки были видны, а не были выделены жирным шрифтом (например, вы писали документ о том, как программировать HTML), а затему вас нет возможности отличить это от реального HTML-кода, если у вас есть такой документ.