Nettoyer code HTML pour un select LENGTH(name)
Résolu/Fermé
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
-
Modifié le 28 sept. 2020 à 16:01
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 - 1 oct. 2020 à 15:34
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 - 1 oct. 2020 à 15:34
A voir également:
- Nettoyer code HTML pour un select LENGTH(name)
- Nettoyer ordinateur portable lent - Guide
- Nettoyer son mac - Guide
- Code asci - Guide
- Code puk bloqué - Guide
- Nettoyer port usb c - Accueil - Téléphones
3 réponses
RV71
Messages postés
612
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
30 décembre 2024
31
28 sept. 2020 à 19:01
28 sept. 2020 à 19:01
Bonjour,
à tout hasard, regardes ceci :
https://blog.webnersolutions.com/postgres-function-to-remove-html-tags-from-text/
A+
à tout hasard, regardes ceci :
https://blog.webnersolutions.com/postgres-function-to-remove-html-tags-from-text/
A+
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
30 sept. 2020 à 14:40
30 sept. 2020 à 14:40
Bonjour,
RV71
Merci effectivement cela est une bonne piste que je vais tester.
Reivax962
J'ai pas tout compris! Un exemple? Merci
RV71
Merci effectivement cela est une bonne piste que je vais tester.
Reivax962
J'ai pas tout compris! Un exemple? Merci
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié le 1 oct. 2020 à 10:46
Modifié le 1 oct. 2020 à 10:46
Ce que je veux dire, c'est qu'un code HTML risque aussi de contenir des codes du genre « & lt; », « & eacute; » ou autre, qu'il faut compter comme un seul caractère et non comme, respectivement, 4 et 8.
Ça peut se faire simplement en reprenant la fonction donnée par RV71, en y remplaçant < par & et > par ;
Et tu peux créer une troisième fonction qui combine les deux premières :
Un texte comme
Xavier
PS : sur le forum, les caractères &...; sont reconnus et transcrits, je suis obligé de rajouter une espace après le & éviter ça, mais elle ne doit pas y être normalement.
Ça peut se faire simplement en reprenant la fonction donnée par RV71, en y remplaçant < par & et > par ;
CREATE OR REPLACE FUNCTION strip_html_caracs(TEXT) RETURNS TEXT AS $$ SELECT regexp_replace($1, '&[^;\s]*;', '_', 'g'); $$ LANGUAGE SQL;
Et tu peux créer une troisième fonction qui combine les deux premières :
CREATE OR REPLACE FUNCTION strip_html(TEXT) RETURNS TEXT AS $$ SELECT strip_html_caracs(strip_tags($1)); $$ LANGUAGE SQL;
Un texte comme
<h1>L& apos;& eacute;valuation du nombre de caract& egrave;es</h1>sera transformé en
L__valuation du nombre de caract_reset tu pourras donc correctement y compter les caractères.
Xavier
PS : sur le forum, les caractères &...; sont reconnus et transcrits, je suis obligé de rajouter une espace après le & éviter ça, mais elle ne doit pas y être normalement.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 oct. 2020 à 10:44
1 oct. 2020 à 10:44
J'ai pris le parti de remplacer les caractères spéciaux par _ car le but est simplement de les compter.
Si tu voulais qu'ils soient remplacés par leur vraie valeur, ça va être plus compliqué mais c'est possible : https://stackoverflow.com/questions/14961992/postgresql-replace-html-entities-function
Xavier
Si tu voulais qu'ils soient remplacés par leur vraie valeur, ça va être plus compliqué mais c'est possible : https://stackoverflow.com/questions/14961992/postgresql-replace-html-entities-function
Xavier
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
1 oct. 2020 à 15:34
1 oct. 2020 à 15:34
Merci Xavier, très instructif. Je vais tester tout cela.
30 sept. 2020 à 09:57
Xavier