Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Функция PHP для удаления не нужных символов (http://forum.oszone.net/showthread.php?t=104069)

darksmoke 31-03-2008 20:45 771849

Функция PHP для удаления не нужных символов
 
Как то наткнулся в Интеренете на скрипт в котором была функция которая удаляла указанные символы из строки (типо {}[]?|/\_-+=@#$%^&*!). Вот теперь пытаюсь найти - не получается.
Может кто знает такую функцию?

+ еще бы функцию которая удаляет HTML и PHP тэги.

Coutty 31-03-2008 22:20 771929

Цитата:

Цитата darksmoke
еще бы функцию которая удаляет HTML и PHP тэги. »

Из документации:
strip_tags - вырезает тэги HTML и PHP из строки.
Эта функция пытается вернуть строку str с вырезанными тэгами HTML и PHP. Выдаёт ошибку с предупреждением в случае наличия неполных или ложных тэгов. Использует ту же машину вырезания тэгов, что и fgetss().
Вы можете использовать необязательный второй параметр для специфицирования тэгов, которые не должны вырезаться.
Пример:
PHP код:

$string strip_tags($string'<a><b><i><u>'); 

По поводу первого вопроса затрудняюсь ответить.

rus-4-ever 31-03-2008 23:31 771998

http://www.php.net/manual/ru/function.eregi-replace.php

Функция:
string eregi_replace ( string $pattern , string $replacement , string $string )

$pattern = '\.+?(){}[]^$'; // Перечисление символов... На самом деле у регулярных выражений большая область применения... (не только перечисление, но и интервалы, и т.д.)

$replacement= ""; // Определяем, ЧТО мы ставим вместо удаляемых символов

bruder 01-04-2008 01:18 772040

rus-4-ever правильно сказал, просто добавлю что некоторые символы трудно экранировать например @, можно использовать шестнадцатиричный код

Код:

<?
$text = "\ + * ? [ ^| ] $ (  { } = ! < > | было";
 echo $text."<br>";
$text = "\ + * ? [ ^| ] $ (  { } = ! < > | осталось";
echo  preg_replace ("/[\\x28\\x29\\x3c\\x3e\\x40\\x2c\\x3a\\x3b\\x5c\\x22\\x2e\\x5b\\x5d\\x2b\\x3f\\x7d\\x2a\\x5e\\x7c\\x24\\x7b\\x3d\\x21\\x7c]/","",$text);

?>

там всевозможные символы. можно указать интервал чтобы сократить колличество. вобщем база есть, а там дополнительно поискать можно какие символы добавить или убрать. HEX код символа можно посмотреть так: echo bin2hex('символ');


Время: 16:27.

Время: 16:27.
© OSzone.net 2001-