2012-01-11 3 views
1

У меня есть PHP-скрипт для редактирования файлов, HTML, PHP, и т.д ..Textarea отредактировать файл 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... 

, а затем он outputed в браузере, как:

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

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

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

Благодаря

ответ

0

Если вы используете 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'/> 

Смежные вопросы