Редактирование файла textarea php

У меня есть PHP-скрипт для редактирования файлов, html, php и т.д..

Он работает полностью, за исключением случаев, когда вы вводите в поле формы textarea, например:

<div>
& nbsp; or & amp;
</div>

специальные символы автоматически преобразуются только в пробел и просто в амперсанд &.

Но цель редактора файлов состоит в том, чтобы ввести именно то, что вам нужно, и отобразить его, поскольку html-код может быть или не быть написан в форме объекта, и я не хочу, чтобы они автоматически преобразовывались в их форму, не являющуюся сущностью. htmlspecialchars или htmlentities не работает, потому что тогда весь документ преобразуется в специальные символы

источник просмотра документа при использовании htmlspecialchars:

&lt;!DOCTYPE html PUBLIC&gt;

&lt;html&gt;

&lt;head&gt;

&lt;title&gt;Test&lt;/title&gt;

etc...

а затем он выводится в браузере как:

<!DOCTYPE html PUBLIC> <html> <head> <title>Test</title> </head> <body> TEST  x &nbsp; </body> </html>

У меня есть одна и единственная дилемма. Если просто удалить htmlspecialchars из обработки данных сообщения, то все работает отлично, за исключением того, что html-объекты автоматически преобразуются в читаемую форму, & NBSP; в космос, и & amp; амперсанд &

Есть идеи? Я знаю, что cPanel каким-то образом удалось сделать это в своем файловом редакторе, в net2ftp и во многих других текстовых редакторах файлов в Интернете.

Спасибо


person user1142639    schedule 11.01.2012    source источник


Ответы (1)


Если вы используете htmlspecialchars, он превратит все, что не является буквенно-цифровым, в объект html, поэтому он фактически отобразит символ в браузере, а не использует его в качестве разметки. Вероятно, вы могли бы сохранить все, что вводит пользователь, в виде простого текста, а затем просто вывести его обратно на страницу, когда это необходимо отобразить. Этот код работал, когда я пробовал его, потому что я верю в то, что вы пытаетесь сделать.

<?php
 $var = $_POST['var'];
 echo $var;

 ?>

<form id='form' action='' method='post'/>
<textarea form='form' name='var'></textarea>
<input type='submit' value='submit'/>

person Ethan    schedule 14.01.2012