11 Vote

TinyMCE: Autoriser uniquement certaines balises de mise en forme et HTML

Question de Invité | 03/04/2021 à 10:47

Est-il possible de configurer TinyMCE HTML Editor de manière à ne formater le texte qu'avec des mises en forme prédéfinies? En d'autres termes, seules les balises HTML spécifiques et définies sont autorisées.

Par exemple, qu'il est possible de mettre du texte en gras ou en italique ou de définir un lien vers un autre site Web, mais qu'il n'est pas possible d'insérer des en-têtes, des cases de couleur ou d'autres choses?

RépondrePositifNégatifDateVoix
1Meilleure Réponse1 Vote

Avec la déclaration de "valid_elements", vous pouvez contrôler exactement quelles balises HTML sont autorisées et lesquelles non.

Voici un exemple:

tinymce.init({
  selector: "textarea",
  valid_elements: "p,br,b,i,strong,em",
  toolbar: "bold italic"
});

Avec cela, nous n'autorisons que les paragraphes (p), les sauts de ligne (br), les textes en gras (b et strong) et les textes en italique (i et em). Dans le même temps, nous limitons la barre d'outils aux boutons pour le texte en gras et en italique.

valid_elements: "p,br,b,i,b/strong,i/em"

En utilisant la notation telle que "b/strong" ou "i/em", nous pouvons faire en sorte que TinyMCE réécrive automatiquement les balises HTML. Dans cet exemple, "strong" est remplacé par "b" et "em" par "i".

valid_elements: "p,a[href|target=_blank],div[style]"

Derrière un formatage simple, nous pouvons également ajuster les attributs autorisés à être conservés. Ceci est intéressant par exemple lors de la définition de liens. Dans cet exemple, nous autorisons les attributs "href" et "target=_blank" pour les balises a et l'attribut "style" pour les divs.

Important: Interdire les balises HTML avec TinyMCE ne sécurise pas la saisie de l'utilisateur, car il existe de nombreuses façons de contourner TinyMCE et d'envoyer tout ce que vous voulez au serveur de toute façon. Vous devez donc toujours vérifier également l'entrée de l'utilisateur côté serveur.
03/04/2021 à 21:44

RépondrePositif Négatif
00 Voix

Si nous interdisons les balises "br" ainsi que la balise qui se trouve être le parent de l'élément racine TinyMCE, cela empêche-t-il les sauts de ligne et les nouveaux paragraphes?

Je veux un éditeur qui contienne le titre d'un article de telle sorte que les gens puissent ajouter des caractères gras et italiques (comme pour un titre dans le titre), mais le titre doit être sur une seule ligne de texte.
05/04/2021 à 12:45

Positif Négatif
00 Voix

Oui. Spécifiez simplement valid_elements: "strong,em" pour autoriser uniquement le texte en gras et en italique dans votre titre.

Cependant, vous devez également vérifier à nouveau le titre sur votre serveur, car TinyMCE ne fonctionne qu'avec JavaScript et l'utilisateur peut taper et envoyer manuellement ce qu'il veut dans le champ de texte sous-jacent.
05/04/2021 à 21:31

Positif Négatif
Répondre
Répondre

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.