Voici mon pseudo code fsuppé. Quelqu'un sait comment rendre cela réel?Désinfecter le texte collé de MS-Word
Contexte:
Ce contenu dynamique provient d'un ckeditor. Et beaucoup de gens y mettent du contenu Microsoft Word. Pas de soucis, si j'appelle juste l'attribut intacte, il se charge plutôt bien. Mais le hic, c'est que je veux que ce soit juste 125 caractères en abrégé. Lorsque j'y ajoute la troncature, tous les scripts Microsoft Word commencent à apparaître. Puis j'ai ajouté simple_format, et aseptisé, et tronqué, et même fait que mon contrôleur commence à identifier des variables spécifiques que MS ferait et les gsub. Mais il y en a trop, et cela semble être une manière terriblement désordonnée d'accomplir cela. Ainsi donc! Réalisant que par lui-même, c'est propre. J'ai pensé, pourquoi ne pas le couper en tranches. Cependant, le texte du mot Microsoft devient vide mais conserve sa position numérotée dans la chaîne. Donc je suis venu avec cette solution (probablement horrible) ci-dessous.
C'est en trois étapes.
- Lorsque le texte est analysé, il n'affiche aucun des fichiers indésirables MSWord. Mais ce texte conserve toujours une position numérique dans une déclaration de tranche. Donc, je veux utiliser une expression rationnelle pour trouver le premier caractère réel.
- Prenez ce caractère et découvrez sa position numérotée dans la chaîne totale.
Utilisez une instruction de découpe pour la couper.
def about_us_truncated x = self.about_us.find.first(regExp representing first actual character) x.charCount = y self.about_us[y..125] end
La seule autre idée que je suis arrivé, est une déclaration regex qui lui permet de trancher explicitement que les caractères réels comme ceci:
about_us([a-zA-Z][0..125])
, mais qui est certainement pas la façon dont il est écrit.
Voici un exemple de texte de courrier indésirable MS Word:
≪! [If Gte Mso 9]>≪Xml>≪Br /> ≪O:Office Document Settings>≪Br /> ≪O:Allow Png/>≪Br /> ≪/O:Off...
Um ... MSWord indésirable? –
Pouvez-vous donner un peu plus de contexte sur ce que vous essayez de faire ici? –
Contexte d'arrière-plan ajouté – Trip