Показать полную графическую версию : Функция PHP для удаления не нужных символов
darksmoke
31-03-2008, 20:45
Как то наткнулся в Интеренете на скрипт в котором была функция которая удаляла указанные символы из строки (типо {}[]?|/\_-+=@#$%^&*!). Вот теперь пытаюсь найти - не получается.
Может кто знает такую функцию?
+ еще бы функцию которая удаляет HTML и PHP тэги.
еще бы функцию которая удаляет HTML и PHP тэги. »
Из документации:
strip_tags - вырезает тэги HTML и PHP из строки.
Эта функция пытается вернуть строку str с вырезанными тэгами HTML и PHP. Выдаёт ошибку с предупреждением в случае наличия неполных или ложных тэгов. Использует ту же машину вырезания тэгов, что и fgetss().
Вы можете использовать необязательный второй параметр для специфицирования тэгов, которые не должны вырезаться.
Пример:
$string = strip_tags($string, '<a><b><i><u>');
По поводу первого вопроса затрудняюсь ответить.
rus-4-ever
31-03-2008, 23:31
http://www.php.net/manual/ru/function.eregi-replace.php
Функция:
string eregi_replace ( string $pattern , string $replacement , string $string )
$pattern = '\.+?(){}[]^$'; // Перечисление символов... На самом деле у регулярных выражений большая область применения... (не только перечисление, но и интервалы, и т.д.)
$replacement= ""; // Определяем, ЧТО мы ставим вместо удаляемых символов
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('символ');
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.