Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/02/2011, 21h36   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 61
Points : 13
Points : 13
Par défaut Récupérer une chaine entre deux délimiteurs

Bonsoir

je débute en javascript et j'ai bcp de mal aussi si quelqu'un pouvait m'aider se serait sympa. Voici donc mon problème

j'ai une chaine de caractères qui commence par : debutDeChaine/
j'ai une chaine de caractères qui fini par : .FinDEChaine

Entre les deux il y a le texte que je souhaite récupérer ex : une phrase au bidon avec des chiffres et un . par exemple comme 125 où 178 et des ponctuations ?! etc

RegExp contient donc :

debutDeChaine/une phrase au bidon avec des chiffres et un . par exemple comme 125 où 178 et des ponctuations ?! etc .FinDEChaine

Je souhaite donc récupérer juste : une phrase au bidon avec des chiffres et un . par exemple comme 125 où 178 et des ponctuations ?! etc

Mais voila quel est la bonne expression régulière pour arriver à ceci. Avec les ^*a-zA-Z etc je suis complétement à la ramasse.

Donc si un expert en expression régulière pouvait m'aider se serait sympa

Merci d'avance pour votre aide
Soncar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 22h08   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
Bonsoir,
un petit tour vers ce post te donne...
Code :
1
2
3
4
var sTmp = "debutDeChaine/une phrase au bidon avec des chiffres et un . par exemple comme 125 où 178 et des ponctuations ?! etc .FinDEChaine"
var sReg = /debutDeChaine\/((?:.|\n)*?).FinDEChaine/;
var sResult = sTmp.match(sReg);
alert( sResult[1]);
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 22h50   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 61
Points : 13
Points : 13
En fait mon script commence comme ça :

Citation:
function ac_return(field, item){

// on met en place l'expression régulière
var regex = new RegExp (c'est ici que je bloque pour l'expression régulière);

// on l'applique au contenu
var nomimage = regex.exec($(item).innerHTML);

//on récupère le resultat
Result = nomimage[0].replace('.FinDEChaine', '');

....

}
Soncar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 08h36   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Heu il me semble que l'on vient de te la donner ???
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h16   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 61
Points : 13
Points : 13
en fait ça fonctionne presque bien mais

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
function ac_return(field, item){
 
// on met en place l'expression régulière
var regex = new RegExp (/debutDeChaine\/((?:.|\n)*?).FinDEChaine/);
 
// on l'applique au contenu
var nomimage = regex.exec($(item).innerHTML);
 
//on récupère le resultat
Result = nomimage[0].replace('.FinDEChaine', '');
 
....
 
}
par contre mon texte : une phrase au bidon avec des chiffres et un . par exemple comme 125 où 178 et des ponctuations ?! etc

et rempli de %20 à la place des espaces

Citation:
une%20phrase%20au%20bidon%20avec%20des%20chiffres.....
maintenant il me reste plus qu'à réussir à retirer les %20
Soncar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h21   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
pourquoi le replace de fin ??????

un replace final oui mais juste pour virer le %20

Code :
1
2
3
4
5
6
7
8
9
var chaine = "debutDeChaine/une%20phrase%20bidon avec des chiffres et un . par exemple comme 125 où 178 et des ponctuations ?! etc .FinDEChaine"
var regex = new RegExp (/debutDeChaine\/((?:.|\n)*?).FinDEChaine/);
 
// on l'applique au contenu
var nomimage = chaine.match(regex);
 
//on récupère le resultat
Result = nomimage[1].replace(/%20/g, ' ');
alert(Result)
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 19h10   #7
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 61
Points : 13
Points : 13
Bonsoir

j'ai encore un autre soucis et je pense que ça vient de l'expression régulière

Code :
1
2
 
var regex = new RegExp (/debutDeChaine\/((?:.|\n)*?).FinDEChaine/);
mon texte s'affiche sans les é è ê etc mais est remplacé par des ?

que dois je changer dans l'expression régulière pour que cela soit bien afficher ?

Encore merci pour votre aide
Soncar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 19h15   #8
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
Citation:
mon texte s'affiche sans les é è ê etc mais est remplacé par des ?
problème de charset avec
Code html :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
il faut utiliser les entités tel &eacute; ou autre
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 21h07   #9
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 61
Points : 13
Points : 13
J'ai finalement opté pour charset=iso-8859-1 (ma base de donnée n'été pas en charset=iso-8859-1 d'ou mon problème)

Maintenant tout fonctionne et je vous remercie pour votre aide
Soncar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h05.


 
 
 
 
Partenaires

Hébergement Web