Как правильно вывести и обработать текст сообщения?

646
.
Wap Master
Вроде робит, терь гляньте редактирование я правильно сделал или надо вывести в форму редактирования сообщения текст в хтмлентитиес
case "edit":
if (empty($_GET['id']))
{
echo "Ошибка!<br/><a href='index.php'>Дневники</a><br/>";
require_once ("../incfiles/end.php");
exit;
}
$id = intval($_GET['id']);
if (isset($_POST['submit']))
{
$name = isset($_POST['name']) ? mb_substr(trim($_POST['name']), 0, 100) : '';
$text = isset($_POST['text']) ? mb_substr(trim($_POST['text']), 0, 10000) : '';


if (empty($name))
{
echo "Вы не ввели тему записи!<br/><a href='view.php?act=edit&amp;id=$id'>статья</a> | <a href='index.php'>в дневники</a><br/>";
require_once ("../incfiles/end.php");
exit;
}
if (empty($text))
{
echo "Вы не ввели текст записи!<br/><a href='view.php?act=edit&amp;id=$id'>статья</a> | <a href='index.php'>в дневники</a><br/>";
require_once ("../incfiles/end.php");
exit;
}

$no_komm = isset ($_POST['no_komm']) ? 1 : 0;
mysql_query("UPDATE `blog` set
`name`='" . mysql_real_escape_string($name) . "',
`text`='" . mysql_real_escape_string($text) . "',
`no_komm`='" . $no_komm . "' where id='" . $id . "' ;");
header("Location: view.php?id=$id");
} else
{
$ps = mysql_query("select * from `blog` where id='" . $id . "';");
$ps1 = mysql_fetch_array($ps);
$text=$ps1['text'];


echo 'Редактировать | <a href="edit.php?act=del&amp;id=' . $id .'"><b><font color="red">Удалить</font></b></a><br/><form action="edit.php?act=edit&amp;id=' . $id . '" method="post">Тема:<br/><textarea rows="3" name="name">'.$ps1['name'].'</textarea><br/>Текст:<br/><textarea rows="3" name="text">'.$text.'</textarea><br/>';
echo '<input name="no_komm" type="checkbox" value="1" ' . ($ps1['no_komm'] ? 'checked="checked"' : '') . ' />&nbsp;Запретить комментарии<br/>';


echo"<input type='submit' name='submit' value='Ok!'/><br/></form><br/>";
}
break;
.
Wap Master
Ничего не понимаю: добавил еще запись с переводом строки-эта не работает
.
Let Mortal Kombat begin
ну ты посмотри в функции что означают цифры
1 обработка текста с переносом строк
2 подстановка провела вместо переноса.
Следующая цифра после занятой это обработка тэгов
.
Вроде бы у меня тоже по теме проблема
Почему при обрезании текста функция checkout() не работает
Например
$hdr = mb_substr($hdr, 0, 30);
$hdr = checkout($hdr);
//то возникает ошибка - PHP Warning:  htmlentities() [<a href='function.htmlentities'>function.htmlentities</a>]: Invalid multibyte sequence in argument

Если функцию checkout() вызывать без mb_substr() то все норм
Помогите избавится от этой ошибки, а то длинные заголовки в форуме не работают
.
dakilla
нy тak ниkтo нe пoдckaжeт kak этo мoжнo иcпpaвить?
.
Let Mortal Kombat begin
dakilla, так ты убери обрезание текста. Тебе же оно по твоим словам и не нужном. Как раз убьешь два зайца
.
seg0ro, нeт я нe этo имeл в видy ecли oнo ecть тo пyckaй бyдeт. ecли eгo пo вceмy caйтy yбиpaть тo этo cлишkoм oбьeмнaя paбoтa пoлyчaeтcя мнe бы нaйти peшeниe пpoблeмы чepeз caмy ф-цию checkout
.
dakilla
//Invalid multibyte sequence in argument - Неправильная многобайтовая последовательность в аргументе

чё оно там изменяется при обрезании текста .хм.
.
нe знaю yж пpaвильнo cдeлaл или нeт нo в checkoute в caмoм нaчaлe oбpaбoтaл тekcт в ф-eй iconv вpoди пoмoглo
.
аkа ПьяНый Ангел
проверь кодировку текста, и попробуй ее указать при обработке
Всего: 50