проблема с тегами strip_tags и tinymce

#php #tinymce #strip-tags

Вопрос:

У меня проблема с использованием strip_tags для очистки html-тегов в тексте, поступающем из tinymce. У меня есть форма, в которой некоторые поля текстовой области управляются tinymce и другим простым вводом текста.

Мне нужно удалить HTML-теги из некоторых входных данных в этих полях. Это идеально работает со стандартным вводимым текстом, ничего не происходит с текстом, поступающим из Tinymce. Вот часть кода:

 //from input text

$title = $_POST['title'] ;

//from  text area loaded by tynymce

$shortcontent = $_POST['shortcontent'] ;
$content = $_POST['content'] ;

$title = strip_tags($title) ;   // works

$content = strip_tags($content) ;  //fail
 

Тем временем, РЕШЕНО.

Просто теги insertet в режиме WYSE всегда кодируются, поэтому html_entity_decode() перед тегами strip

 $content = strip_tags(html_entity_decode($content)) ;
 

Ответ №1:

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

 // Store the current selections string/value in a variable and strip it's tags
var content = tinymce.activeEditor.selection.getContent({ format : 'text' });