Я уверен, что кто-то это уже использовал, но я не нашел его в поиске на сайте. Прямо сейчас я пытаюсь отфильтровать какой-либо ввод из WYSIWYG, чтобы он удалял символы, такие как: ¢ © ÷ μ · ¶ ± € £ ®§ ™ ¥, но сохраняйте символы HTML. Я пробовал htmlentities и htmlspecialcharacters, но это все еще, кажется, оставляет тех персонажей в такте. Любые уже существующие методы, или у кого-нибудь есть хорошее регулярное выражение, которое справится с этим? Благодаря!PHP Forming Form Input
ответ
Если вы используете PHP> 5.2.0 Filter, может быть полезно.
Удивительный, фильтр работал отлично. Я все еще разбираюсь в вариантах, поэтому, возможно, я смогу избежать замены строк. Тем не менее, это то, что я делаю сейчас: $ ret = str_replace ("", " ", $ _POST [$ varname]); $ ret = str_replace ("/", "& aslash;", $ ret); $ ret = filter_var ($ ret, FILTER_SANITIZE_URL); $ ret = str_replace (" ", "", $ ret); $ ret = str_replace ("& aslash;", "/", $ ret); – 2009-12-15 15:59:46
, что регулярное выражение должно работать:
$ текст = preg_replace ('/ [¢ © ÷ μ · ¶ ± € £ ®§ ™ ¥] * /', '', $ текста);
можно также заменить элементы, как это:
$ плохой = массив ('©', '®'); $ good = array ('©', '®');
$ text = preg_replace ($ bad, $ good, $ text);
Любой способ, которым мне не нужно будет указывать каждый символ, который я хочу удалить, вместо этого просто заменил то, что не является регулярным символом или тегом html/entity? – 2009-12-15 15:14:55
Сначала я использовал htmlspecialchars() или strip_tags(). Если вы хотите заменить плохих символов ничем, просто используйте первое регулярное выражение. – Billy
regex для этого? ты серьезно? –
Вы пробовали функцию htmlentities()
? Попробуйте так:
$text = htmlentities($text);
Там в некоторые другие дополнительные параметры, которые вы можете проверить на http://php.net/manual/en/function.htmlentities.php. Возможно, вам придется установить quote_style
и charset
, по крайней мере.
Я пробовал htmlentites без везения. Вот что я пробовал: $ ret = htmlentities ($ _ POST [$ varname], ENT_NOQUOTES, 'UTF-8', false); По-прежнему возникают странные персонажи, любая идея, если я что-то вникаю туда? – 2009-12-15 15:40:38
О, почему-то я понял, что вы пробовали htmlspecialcharacters(), но не htmlentities(). Виноват. В любом случае, я бы попробовал варианты ISO, перечисленные в моей ссылке, на всякий случай. – jakeboxer
htmlentities()
и htmlspecialchars()
не будут работать для вас, если вы хотите удалить этих символов полностью, а не только их преобразований в HTML сущности.
EDIT
Я просто заметил, что в какой-то момент вы сказали, что вы хотите сохранить HTML сущности. Если это так, используйте htmlentities()
!! Он преобразует все эти символы в их эквивалент сущности html. Если вы повторите это, вы все равно увидите символы, которые вы пытались удалить, но если вы просмотрите исходный код, вы увидите вместо него форматированный объект &name;
.
Возможно, вам понадобится регулярное выражение для этого, как это ни печально. Большинство PHP-функций пытаются сохранить эти символы для вас в том или ином формате. Удивительно, что они не являются функцией, чтобы удалить их, что я знаю, по крайней мере!
- 1. PHP Form Input Filtering
- 2. php form multiple input
- 3. php input form multiple error
- 4. Zend Form Input Element
- 5. php sanitize form input с функцией
- 6. PHP check empty array form input
- 7. form input name from mysql
- 8. Forming URLstring условно
- 9. gzip form input files
- 10. cakePHP Assisted Form Input
- 11. Drupal filter_form form input
- 12. Slow CakePHP form input
- 13. Сброс INPUT без FORM
- 14. jQuery Form Input Suggestation
- 15. Rails input form boolean
- 16. html form input array
- 17. HTML form input readonly
- 18. PHP Form Form Form
- 19. edit form selected values input
- 20. MySQL form input to MySQL
- 21. PDO uncaught error forming данные формы
- 22. validate form struts2 manage INPUT
- 23. CakePHP: $ form-> input ('checkbox');
- 24. Ionic 2 Dynamic form input
- 25. Ruby on Rails form input
- 26. cakephp form input add attribute
- 27. Unterminated < form: input tag
- 28. Form validate on readonly input
- 29. jquery form not printing input
- 30. Symfony2 input group form label
Каковы символы HTML? – thr