Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функция удаления пробелов и кодирование html тегов
 
 автор: spyder   (13.09.2006 в 15:49)   письмо автору
 
 

Всем привет!
Хотел написать функцию удаления пробелов и кодирование html тегов
Вот код

<?php
 
function check($value)
  {
   if(
$value)
    {
     
//Удаление пробелов
     
$value trim($value);
     
//Кодирование тегов и обратных слешей в нике
     
$value htmlspecialchars(stripslashes($value));
    }
    else
    {
     echo 
"Нет";
    }
 }

$user $_POST['user'];
$email $_POST['email'];
$family $_POST['family'];

 
check($user);
 
check($email);
 
check($family);

 echo 
"<p>".$user."</p>";
 echo 
"<p>".$email."</p>";
 echo 
"<p>".$family."</p>";
?>

Но код html остаятся таким же, т.е. не кодируется.
Народ помогите плиз что я не так делаю?

   
 
 автор: kasmanaft   (13.09.2006 в 16:12)   письмо автору
 
   для: spyder   (13.09.2006 в 15:49)
 

Можно передавать в функцию переменную по ссылке

function check(&$value)

или примерно так
 echo "нет";
    }
 return $value;
}
$user = check ($user);

   
 
 автор: targa   (13.09.2006 в 16:14)   письмо автору
 
   для: spyder   (13.09.2006 в 15:49)
 

Попробуйте так:

<?php
function check($value)
{
    if(
$value)
    {
        
$value trim($value);            //    Удаление пробелов лидирующих и завершающих пробелов
//        $value = str_replace(' ', '', $value);    //    Удаление всех пробелов

        //Кодирование тегов и обратных слешей в нике
        
$value htmlspecialchars(stripslashes($value));

        return 
$value;
    }
    else return 
'Нет';
}

$user check($_POST['user']);
$email check($_POST['email']);
$family check($_POST['family']);

echo 
"<p>".$user."</p>";
echo 
"<p>".$email."</p>";
echo 
"<p>".$family."</p>";
?>

   
 
 автор: Spyder   (13.09.2006 в 16:37)   письмо автору
 
   для: targa   (13.09.2006 в 16:14)
 

Спасибо большое, получилось.
Хотел ещё спросить, а можно ли как то html теги вообще удалить?

   
 
 автор: Ziq   (13.09.2006 в 16:45)   письмо автору
 
   для: Spyder   (13.09.2006 в 16:37)
 

strip_tags()
http://www.softtime.ru/dic/id_dic=62&id_group=1

   
 
 автор: Spyder   (13.09.2006 в 17:06)   письмо автору
 
   для: Ziq   (13.09.2006 в 16:45)
 

в этой функции нужно перечислять все теги, а я думал может просто есть какая нибудь функция в которой не нужно перечислять теги.

   
 
 автор: targa   (13.09.2006 в 17:38)   письмо автору
 
   для: Spyder   (13.09.2006 в 17:06)
 

Там теги нужно перечислять те, которые Вы хотите чтобы она не удаляла. Если не перечислять, то удалит все.

   
 
 автор: DEM   (14.09.2006 в 01:21)   письмо автору
 
   для: targa   (13.09.2006 в 17:38)
 

она не удаляет HTML теги, а делает их обычным текстом (так <b>Текст</b>, станет не Текст, а <b>Текст</b>

   
 
 автор: targa   (14.09.2006 в 02:17)   письмо автору
 
   для: DEM   (14.09.2006 в 01:21)
 

>она не удаляет HTML теги, а делает их обычным текстом (так <b>Текст</b>, станет не Текст, а <b>Текст</b>

Попробуйте выполнить следующий код:

<html>
<head> <title>strip_tags</title></head>
<body>
<?php
    $lcLine
='<b><i>жирный</i> текст</b>';
    echo 
strip_tags($lcLine'<i>');
?>
</body>
</html>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования