Maison >cadre php >PensezPHP >Que faire si thinkphp ne filtre pas les balises HTML

Que faire si thinkphp ne filtre pas les balises HTML

藏色散人
藏色散人original
2022-12-05 10:11:102234parcourir

La solution pour que thinkphp ne filtre pas les balises html : 1. Ouvrez le fichier tp correspondant ; 2. Utilisez la méthode "strip_tags(htmlspecialchars_decode($data['post']['post_content']));" Inversez-le simplement.

Que faire si thinkphp ne filtre pas les balises HTML

L'environnement d'exploitation de ce tutoriel : système Windows 7, ThinkPHP version 5, ordinateur Dell G3.

Que dois-je faire si thinkphp ne filtre pas les balises html ?

TP5 La solution pour utiliser strip_tags pour filtrer les balises html ne fonctionne pas

La solution pour utiliser strip_tags pour filtrer les balises html dans ThinkPHP5 ne fonctionne pas

Dans le processus d'enregistrement de l'article, vous devez obtenir le code HTML édité par l'éditeur Uediter sur le front-end L'idée de base est d'utiliser la fonction strip_tags() de PHP pour filtrer directement le texte dans le contenu. Modifiez-le donc directement comme suit :

$data   = $this->request->param();
$data['post']['content'] = strip_tags($data['post']['post_content']);
 
echo  $data['post']['post_content'];
echo  $data['post']['content'];

Le contenu de sortie est le suivant, le. La fonction strip_tags() ne fonctionne pas :

<p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p>
<p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p>

Voir le manuel TP5 - Chapitre sur les variables d'entrée - Filtrage des variables Nous pouvons constater que TP5 utilise des caractères htmlspecialchars pour convertir les chaînes transmises depuis le front-end en entités HTML par défaut. Par conséquent, ma solution est de : inversez les entités converties et utilisez htmlspecialchars_decode() La fonction peut être implémentée :

$data   = $this->request->param();
$data[&#39;post&#39;][&#39;content&#39;] = strip_tags(htmlspecialchars_decode($data[&#39;post&#39;][&#39;post_content&#39;]));
 
echo  $data[&#39;post&#39;][&#39;post_content&#39;];
echo  $data[&#39;post&#39;][&#39;content&#39;];

Le résultat est le suivant, la conversion est réussie :

<p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p>
RWERWERWhgjghhfhgnbfghgh

Apprentissage recommandé : "

thinkPHP Video Tutorial

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn