var okTags = /^(<\/?(b|blockquote|code|del|dd|dl|dt|em|h1|h2|h3|i|kbd|li|ol|p|pre|s|sup|sub|strong|strike|ul)>|<(br|hr)\s?\/?>)$/i;
var okLinks = /^(<a\shref="(\#\d+|(https?|ftp):\/\/[-A-Za-z0-9+&@#\/%?=~_|!:,.;\(\)]+)"(\stitle="[^"<>]+")?\s?>|<\/a>)$/i;
var okImg = /^(<img\ssrc="https?:(\/\/[-A-Za-z0-9+&@#\/%?=~_|!:,.;\(\)]+)"(\swidth="\d{1,3}")?(\sheight="\d{1,3}")?(\salt="[^"<>]*")?(\stitle="[^"<>]*")?\s?\/?>)$/i;
text = text.replace(/<[^<>]*>?/gi, function (tag) {
return (tag.match(okTags) || tag.match(okLinks) || tag.match(okImg)) ? tag : ""
})
1
A
Répondre
4
replace()
peut être remplacé par preg_replace()
et match()
serait preg_match() qui est très puissant
Vérifiez le manuel pour voir comment il fonctionne avec votre code, ils ne sont pas différents, et vous pouvez utilisez votre fonction de rappel aussi.
2
Il semble que vous analysiez HTML avec regex.
Dans ce cas, PHP fournit DOMDocument ce qui est assez bon pour faire de la manipulation DOM. Vous pourrait l'utiliser s'assure que votre chaîne contient sûr HTML.
Une solution plus spécifique au domaine est HTML Purifier.
Questions connexes
- 1. Quel serait le code Java équivalent pour ce code C#?
- 2. jquery validation à distance, quel serait le code php?
- 3. Quel type de jointure SQL serait-ce?
- 4. Serait-ce correct en PHP?
- 5. quel serait l'équivalent C# de cet extrait de code?
- 6. Quel serait le code pour l'authentification du numéro de série?
- 7. Quel serait le meilleur moyen de conclure ce pointeur vide?
- 8. PHP session_start() serait-ce une bonne pratique?
- 9. Quel serait le code VB.NET équivalent pour ce mappage de composants C# FluentNHibernate?
- 10. Quel serait l'équivalent php de cette commande unix
- 11. Quel serait le codage de la rotation cyclique en PHP?
- 12. Quel serait l'équivalent de RoR à PHP Session?
- 13. Quel serait l'équivalent PHP de cette regex Perl?
- 14. Quel serait le meilleur moyen d'analyser ce fichier?
- 15. Quel serait un bon forum pour demander un "code-lookover"?
- 16. Quel schéma serait bon en ce qui concerne la performance
- 17. Quel contrôle serait le mieux adapté à ce problème?
- 18. Quel serait le format JSON idéal pour ce XML spécifique
- 19. Quel serait l'équivalent de webdriver pour assertconfirmation?
- 20. Ce qui serait regex pour ce
- 21. Quel répertoire Wordpress serait valide?
- 22. Quel est le problème avec ce code DOM PHP?
- 23. Quel est le problème avec ce code PHP?
- 24. Quel est le problème dans ce code MySQL - PHP?
- 25. Quel est le problème avec ce code php?
- 26. Quel est le problème avec ce code Smarty php templating?
- 27. Quel est le problème avec ce code [Cookies PHP]
- 28. Stupide php Question. Quel est le problème dans ce code?
- 29. Ce code est-il un exploit? Quel est ce code?
- 30. Quel est le problème avec ce code php? file_get_contents remplacement
'preg_replace_callback()' serait le remplacement approprié dans ce cas. – mario
Vous avez raison mario, merci pour l'addition – Ibu