|
|
|
| в общем проблема вот в чём строил гесту и столкнулся с такой вот траблой, когда пользователь вводит сообщение и нажмает энтер чтобы перейти на следующую строку то при нажатии на кнопочку отправить высвечивается само собой его сообщение но вот строка которая шла после энтера отображается не корректно, где то справа вверху а не в таблице основного сообщения... как можно реализовать замену Энтера Тэгом <br> | |
|
|
|
|
|
|
|
для: 10100100
(10.09.2005 в 08:38)
| | Существует стандартная функция - nl2br - заменяет символы новой строки на теги br | |
|
|
|
|
|
|
|
для: Edain
(10.09.2005 в 09:10)
| | так и где эту функцию и как вписать? | |
|
|
|
|
|
|
|
для: 10100100
(10.09.2005 в 09:50)
| | Где угодно, можно непосредственно пред выводом сообщения в окно браузера прогнать текст через эту функцию
<?php
$text = nl2br($text);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(10.09.2005 в 12:11)
| | спасибо... | |
|
|
|
|
|
|
|
для: cheops
(10.09.2005 в 12:11)
| | а вот чёт у мя не получается... где писать то, можете подсказать, а то не понимаю понимашь...
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$files="base.txt";
$qq=15;
if (!$email) {$email="Адрес не указан";}
if (!$homepage) {$homepage="нет";}
if ($message !="" && $name !="") {
$time=Date("h:i:M:d");
$soo="\n<LINK href=style.css type=text/css rel=stylesheet><center><table cellspacing=3 cellpading=3 border=1 bordercolor=ffffff width=55%><tr><td width=100% height=20></td></tr><tr><td align=center><table cellspacing=0 cellpading=0 border=1 bordercolor=000000 width=90%><tr><td><table cellspacing=0 cellpading=0 width=100%><tr><td width=50%><b><a href=\"mailto:$email \">$name</a></td><td align=right width=50%>[<a href=\"http://$homepage \">$homepage</a>]</b></td></tr></td></tr></table> <tr><td><table cellspacing=0 cellpading=0 width=100%><tr><td width=50%><font size=1>$time</font></td><td align=right width=50%><font size=2>$city</font></td></tr></td></tr></table><tr><td>$message</td></tr></table></td></tr><tr><td width=100% height=20></td></tr></td></tr></table></center><br><br>";
$fp=fopen($files, "a+");
$fw=fwrite($fp, $soo);
fclose($fp); }
$message=substr($message, 0, 999);
$email=substr($email, 0, 40);
$homepage=substr($homepage, 0, 40);
$name=substr($homepage, 0, 10);
$lines=file($files);
$a=count($lines);
$u=$a-$qq;
for($i=$a; $i>=$u; $i--) {echo $lines[$i];}
?>
|
| |
|
|
|
|
|
|
|
для: 10100100
(10.09.2005 в 12:53)
| | Что такое $files? Может здесь проще будет добавить тэг <br> в вывод
<?php
for($i=$a; $i>=$u; $i--) {echo $lines[$i]."<br>";}
?>
|
| |
|
|
|
|
автор: special_ (10.09.2005 в 16:40) |
|
|
для: cheops
(10.09.2005 в 13:35)
| | Я тоже думаю, что лучше добавить в вывод:
<?php
$br = str_replace("\n", "<br>", $message);
?>
|
| |
|
|
|
|
|
|
|
для: special_
(10.09.2005 в 16:40)
| | а вот можно расшифровать этот код? а то я не знаю функцию "str_replace" | |
|
|
|
|
|
|
|
для: 10100100
(10.09.2005 в 16:57)
| | Заменить в переменной $message переводы строк \n на тэг <br> и присвоить это переменной $br. | |
|
|
|
|
|
|
|
для: cheops
(10.09.2005 в 20:38)
| | ничег не получется... он всёравно в базу записывает с переведённой строкой... в чём косяк то? :(((( | |
|
|
|
|
|
|
|
для: 10100100
(11.09.2005 в 14:58)
| | Приведите плиз код, который не работает? Что он выводит и что вы хотите получить в результате? | |
|
|
|
|
|
|
|
для: cheops
(11.09.2005 в 21:49)
| | хорошо.... вот код который глючит...
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$files="base.txt";
$qq=15;
if (!$email) {$email="Адрес не указан";}
if (!$homepage) {$homepage="нет";}
if ($message !="" && $name !="") {
$time=Date("h:i:M:d");
$br = str_replace("\n", "<br>", $message);
$soo="\n<LINK href=style.css type=text/css rel=stylesheet><center><table cellspacing=3 cellpading=3 border=1 bordercolor=ffffff width=55%><tr><td width=100% height=20></td></tr><tr><td align=center><table cellspacing=0 cellpading=0 border=1 bordercolor=000000 width=90%><tr><td><table cellspacing=0 cellpading=0 width=100%><tr><td width=50%><b><a href=\"mailto:$email \">$name</a></td><td align=right width=50%>[<a href=\"http://$homepage \">$homepage</a>]</b></td></tr></td></tr></table> <tr><td><table cellspacing=0 cellpading=0 width=100%><tr><td width=50%><font size=1>$time</font></td><td align=right width=50%><font size=2>$city</font></td></tr></td></tr></table><tr><td>$message</td></tr></table></td></tr><tr><td width=100% height=20></td></tr></td></tr></table></center><br><br>";
$fp=fopen($files, "a+");
$fw=fwrite($fp, $soo);
fclose($fp); }
$message=substr($message, 0, 999);
$email=substr($email, 0, 40);
$homepage=substr($homepage, 0, 40);
$name=substr($homepage, 0, 10);
$lines=file($files);
$a=count($lines);
$u=$a-$qq;
for($i=$a; $i>=$u; $i--) {echo $lines[$i];}
?>
|
глюк заключается в следующем - когда я пишу в форме в арее Message с переводом строк то переведённые строки отображаются не корректно, не в таблице - как это должно быть а за её пределами сверху экрана... вот а последующие повторы сообщения такого же уже нормально работает за исключением того что теперь переведённые строки не переводились а просто писались через пробел... вот... | |
|
|
|
|
|
|
|
для: 10100100
(12.09.2005 в 12:17)
| | Возможно где-то не закрытый тэг в таблице - в таком месиве не сложно допустить ошибку. Обычно в файлах гранять лишь информацию, а форматирование производят уже при выводе, так как ошибки форматирования сохраняются в файл намертво и уже нет возможности их исправить. Информацию удобно хранить в виде сериализованного массива PHP http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=907 | |
|
|
|
|
|
|
|
для: cheops
(12.09.2005 в 12:47)
| | тэг... хм... вариант... сегодня проверю всё досканально! спасибо... | |
|
|
|
|
|
|
|
для: cheops
(10.09.2005 в 13:35)
| | насколько я понимаю то если мы добавим тэг <br> на вывод то выведится всё ка и прежде только в конце ещё будет переход на строку - так? если так но нам этого не надо... | |
|
|
|
|
|
|
|
для: 10100100
(10.09.2005 в 12:53)
| | Перед строкой
впишите буквально следующее:
$message=nl2br($message);
|
И будет вам счастье=)) | |
|
|
|
|
|
|
|
для: Киналь
(10.09.2005 в 17:40)
| | странно я это уже вводил, ладно попробую ещё раз... спасибо... | |
|
|
|
|
|
|
|
для: Киналь
(10.09.2005 в 17:40)
| | не помогает ! точнее он конечно пишет br но пишет это перенеся строку.. а мне нужно чтобы текст не переносился на следующую строку а оставался на одной строке :((( | |
|
|
|
|
|
|
|
для: 10100100
(10.09.2005 в 19:12)
| | Замени в последней строке в своем коде на вот этот фрагмент и будет выводится с перносом:
{print str_replace(chr(10), "<BR>", $lines[$i]);}
|
| |
|
|
|
|
|
|
|
для: XPraptor
(12.09.2005 в 13:44)
| | ВСЕМ СПАСИБО! ПРОБЛЕМА ИСЧЕРПАНА!
ДЕЛО ОКАЗАЛОСЬ В МОЕЙ НЕ ВНИМАТЕЛЬНОСТИ! !! | |
|
|
|
|
|
|
|
для: 10100100
(12.09.2005 в 17:02)
| | а мне интересно...где была ошибка | |
|
|
|
|
|
|
|
для: P@Sol
(12.09.2005 в 17:14)
| | посмотрите на код там есть строка содержащая переменную $br, так вот её то и нужно было заменить на $message :)))))))))) в общем я вообще затупил, но и не сказали мне хорошо что я сам заметил наконец то :))) в предь буду внимательнее... | |
|
|
|