Я тут решил сделать PHP консоль для админов сайта, Я сделал как то так... HTML: <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script> <style> body{ margin: 0; cursor:text; font-weight: bold; color: #cccccc; } #2{ color: #cccccc; font-weight: bold } </style> <body> <table border="0" cellpadding="0" cellspacing="0" bgcolor="#000" width="100%" height="100%"><tr><td valign="top" width="100%"> <b><div id='text'> </div></b> </td></tr><tr height="20px"><td> <form onSubmit="form(); return false;"> <hr /><input id='1' style="width: 100%; background: #000; color: #ccc; border: 0px; font-weight: bold"> </form> </td></tr></table> </body> [js]<script> document.getElementById('text').innerHTML = "the user in the console"; function form(){ var text = document.getElementById('1').value; document.getElementById('1').value=''; document.body.style.cursor = "wait"; $.post('console.php', { text: text }, function(data){ if(!data){ data="There is no answer, error in the command: "+text.replace(/</g, "<"); } document.getElementById('text').innerHTML+="\n[USER]: " + text.replace(/</g, "<") + "\n"+data.replace(/</g, "<"); alert(document.getElementById('text').innerHTML); document.body.style.cursor = "text"; window.scrollTo(0, 99999999); }); } </script>[/js] И файл console.php который редактирует файл console.txt и подключает его... PHP: <?php $_POST[text] = stripslashes($_POST[text]); $fd=@fopen('com.txt',"w"); if(!$fd) exit ("Такой файл отсутствует"); fwrite($fd, "<?php ".$_POST[text]." ?>"); fclose($fd); @include "com.txt"; ?> Вопрос в следующем... Как сделать что бы ответ сервера отображать как в textarea (\n = <br />). <pre> не подходит, потому что везде будут переносы строк ненужные
Нужны переносы которые сервер предоставит, но не нужны переносы между запросами Пример: Правильно: [USER]: print_r($_SERVER); Array ( [HTTP_HOST] => panel2.16mb.com [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0 [HTTP_ACCEPT] => */* [HTTP_ACCEPT_LANGUAGE] => ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_ACCEPT_CHARSET] => windows-1251,utf-8;q=0.7,*;q=0.7 [HTTP_CONNECTION] => keep-alive [CONTENT_TYPE] => application/x-www-form-urlencoded; charset=UTF-8 [HTTP_X_REQUESTED_WITH] => XMLHttpRequest [HTTP_REFERER] => http://site.com/my_site/?load=console [CONTENT_LENGTH] => 49 [HTTP_COOKIE] => PHPSESSID=737a8202c75465a0bf6ae14a2bbdfcf1 [HTTP_PRAGMA] => no-cache [HTTP_CACHE_CONTROL] => no-cache [PATH] => /sbin:/bin:/usr/sbin:/usr/bin [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache [SERVER_NAME] => panel2.16mb.com [SERVER_ADDR] => 31.170.164.47 [SERVER_PORT] => 80 [REMOTE_ADDR] => 178.178.1.186 [DOCUMENT_ROOT] => /usr/local/apache/htdocs [SERVER_ADMIN] => admin@admin [SCRIPT_FILENAME] => /www/site.com/my_site/index.php [REMOTE_PORT] => 65347 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => POST [QUERY_STRING] => [REQUEST_URI] => /my_site/index.php [SCRIPT_NAME] => /my_site/index.php [PHP_SELF] => /my_site/index.php [REQUEST_TIME] => 1323761489 ) Не правильно: [USER]: print_r($_SERVER); Array ( [HTTP_HOST] => panel2.16mb.com [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0 [HTTP_ACCEPT] => */* [HTTP_ACCEPT_LANGUAGE] => ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_ACCEPT_CHARSET] => windows-1251,utf-8;q=0.7,*;q=0.7 [HTTP_CONNECTION] => keep-alive [CONTENT_TYPE] => application/x-www-form-urlencoded; charset=UTF-8 [HTTP_X_REQUESTED_WITH] => XMLHttpRequest [HTTP_REFERER] => http://site.com/my_site/?load=console [CONTENT_LENGTH] => 49 [HTTP_COOKIE] => PHPSESSID=737a8202c75465a0bf6ae14a2bbdfcf1 [HTTP_PRAGMA] => no-cache [HTTP_CACHE_CONTROL] => no-cache [PATH] => /sbin:/bin:/usr/sbin:/usr/bin [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache [SERVER_NAME] => panel2.16mb.com [SERVER_ADDR] => 31.170.164.47 [SERVER_PORT] => 80 [REMOTE_ADDR] => 178.178.1.186 [DOCUMENT_ROOT] => /usr/local/apache/htdocs [SERVER_ADMIN] => admin@admin [SCRIPT_FILENAME] => /www/site.com/my_site/index.php [REMOTE_PORT] => 65347 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => POST [QUERY_STRING] => [REQUEST_URI] => /my_site/index.php [SCRIPT_NAME] => /my_site/index.php [PHP_SELF] => /my_site/index.php [REQUEST_TIME] => 1323761489 )
Ну так Вам нужно поколдовать с CSS для <pre>. Это совсем не про PHP. Попробуйте задать [css]pre {margin: 0; padding:0;}[/css] уйдут "ненужные переносы"? а может дело в этом: PHP: <pre> шняга 1 шняга 2 шняга 3 </pre> сравни с PHP: <pre>шняга 1 шняга 2 шняга 3</pre>
В том то и дело что не в этом дело. Дело в <pre>шняга 1</pre><pre>шняга 2</pre><pre>шняга 3</pre> http://html-proverka.16mb.com/#<pre& ... t;/pre> А это помогло, спасибо.