Extraire des scripts par regexp
Résolu/Fermé
Maliq
Messages postés
8
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
25 juillet 2015
-
2 juil. 2013 à 07:56
Maliq Messages postés 8 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 25 juillet 2015 - 2 juil. 2013 à 18:24
Maliq Messages postés 8 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 25 juillet 2015 - 2 juil. 2013 à 18:24
A voir également:
- Extraire des scripts par regexp
- Extraire une video youtube - Guide
- Extraire son video - Guide
- Extraire image pdf - Guide
- Extraire fichier rar - Guide
- Extraire fichier bin - Guide
3 réponses
Maliq
Messages postés
8
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
25 juillet 2015
2 juil. 2013 à 08:07
2 juil. 2013 à 08:07
j'ai utilisé ce code:
var pat = /\<script\>.*\<\/script\>/gi;
var str ="html 1<script>script 1</script>html 2<script>script 2</script>html 3";
alert(str.match(pat)[0]);
alert(str.match(pat)[1]);
alert(str.replace(pat, " "));
mais il me retourne:
<script>script 1</script>html 2<script>script 2</script>
undefined
html 1 html 3
var pat = /\<script\>.*\<\/script\>/gi;
var str ="html 1<script>script 1</script>html 2<script>script 2</script>html 3";
alert(str.match(pat)[0]);
alert(str.match(pat)[1]);
alert(str.replace(pat, " "));
mais il me retourne:
<script>script 1</script>html 2<script>script 2</script>
undefined
html 1 html 3
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
2 juil. 2013 à 08:50
2 juil. 2013 à 08:50
Pourquoi utiliser spécialement un regexp quand on peu faire sans ?
<?php $symbole = array("<script>","</script>"); $chaine = "html 1<script>script 1</script>html 2<script>script 2</script>html 3"; $remplace = str_replace($symbole,'',$chaine); echo $remplace; ?>
Maliq
Messages postés
8
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
25 juillet 2015
2 juil. 2013 à 09:05
2 juil. 2013 à 09:05
Bonjour et merci Tryan44
en faite j'ai peut etre oublié de mentionner que je cherche la solution coté client cela veux dire en javascript et nous somme bien sur la bonne rubrique ..
en faite j'ai peut etre oublié de mentionner que je cherche la solution coté client cela veux dire en javascript et nous somme bien sur la bonne rubrique ..
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
2 juil. 2013 à 09:07
2 juil. 2013 à 09:07
Oupsss, autant pour moi, j'ai zappé la rubrique du poste :)
Maliq
Messages postés
8
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
25 juillet 2015
2 juil. 2013 à 18:24
2 juil. 2013 à 18:24
bon finalement j'ai reussi a resoudre le probleme: ceci est la fonction qui evalue les script contenue dans une chaine (respText) puis retrourne une chaine sans ces scripts
nb. pat2 est pour ne pas selectionner les scripts entre guillements ou strophe (cela veux dire c du text et pas de script)
function evalScripts(respTxt){ var pat1 = /<script>.{0,8}([^<][^\/][^s][^c][^r][^i][^p][^t][^>])*<\/script>/gi; var pat2 = /(\'[^\']*')|(\"[^\"]*\")/gi; var scripts = new Array; scripts = respTxt.replace(pat2, "").match(pat1); for(var i in scripts){ if (dj_global.execScript) dj_global.execScript(scripts[i]); else if (dj_global.eval) dj_global.eval(scripts[i]); else eval(scripts[i]); respTxt = respTxt.replace(RegExp(scripts[i], "g"), ""); } return respTxt; }
nb. pat2 est pour ne pas selectionner les scripts entre guillements ou strophe (cela veux dire c du text et pas de script)