Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
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 28/11/2011, 22h28   #1
Invité régulier
 
christian lewhe
Inscription : mai 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : christian lewhe

Informations forums :
Inscription : mai 2010
Messages : 34
Points : 9
Points : 9
Par défaut Utilsation Expressions Regulières

Bonsoir,
J’espère qu'il n'est pas déjà trop tard et qu'il y aura quelqu'un pour me donner un coup de main.
en fait j'utilise les expressions régulières pour récupérer des enregistrements sur un site.Je récupère bien ce qu'il me faut sauf que certain enregistrements apparaissent avec des chaine de caractères que je ne veux pas. Du genre (GSM Satellite ou encore 3G 2100 ou encore GSM 100/1800).L'expression réguliere que j'ai utilisé pour afficher mes informations est la suivante et elle marche. La chaine que j'affiche se trouve en effet entre <option value....> et </option>.

Code :
1
2
 
preg_match_all("#(?:<option value='[0-9~]+'>(.*)</option>)#i", $content, $gsmList, PREG_SET_ORDER);
Je voudrais juste savoir comment insérer les interdictions d'affichage de GSM... et 3G....
Je vous serais reconnaissant de me donner un coup de main ce soir,je presente cà au boulot demain.please help.
lewhechris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 22h33   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
pareil que pour tous les autres : pour parser du HTML c'est DOMDocument, et le datamining est plus que mal vu
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 22h44   #3
Invité régulier
 
christian lewhe
Inscription : mai 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : christian lewhe

Informations forums :
Inscription : mai 2010
Messages : 34
Points : 9
Points : 9
Par défaut oui mais.....

Ca me dit vraiment pas ce que je suis sensé faire là,je dois vraiment utiliser les expressions regulieres pour ca en fait,c'est ce qui m'a été demandé,alors si t'as mieux à me proposer,ca serait super génial.
lewhechris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 22h51   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
Citation:
Envoyé par lewhechris Voir le message
alors si t'as mieux à me proposer,ca serait super génial.
oui DomDocument, un coup de getElementsByTagName et c'est réglé
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 23h19   #5
Invité régulier
 
christian lewhe
Inscription : mai 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : christian lewhe

Informations forums :
Inscription : mai 2010
Messages : 34
Points : 9
Points : 9
Par défaut undone!


bh j'y arrive pas ,déjà la syntaxe m'enbete,ou est ce que j'insere ce que je veux pas afficher,pfff je suis nul je sais mais bon j'y arrive pas quoi.
lewhechris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 23h22   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
Citation:
Envoyé par lewhechris Voir le message

bh j'y arrive pas ,déjà la syntaxe m'enbete,ou est ce que j'insere ce que je veux pas afficher,pfff je suis nul je sais mais bon j'y arrive pas quoi.
pas compliquer

Code :
1
2
3
4
5
6
7
8
$doc = new DOMDocument();
$doc->loadHTML($content);
 
$options = $doc->getElementsByTagName('option');
 
foreach($options as $option) {
    echo $option->nodeValue;
}
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 23h32   #7
Invité régulier
 
christian lewhe
Inscription : mai 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : christian lewhe

Informations forums :
Inscription : mai 2010
Messages : 34
Points : 9
Points : 9
Par défaut merci mais...

dejà je l'affichais avec ce code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
 
preg_match_all("#(?:<option value='[0-9~]+'>(.*)</option>)#i", $content, $gsmList, PREG_SET_ORDER);
 
 
$content = "";
	if(sizeof($gsmList)==0)  { $content = "&nbsp;"; }
	else 
	{
	    foreach($gsmList  as $gsm) { $content .= '<p>'. $gsm[1]."</p>" ; }
	}
 
	echo '<tr><td>'.$cname.'</td><td>'.$content.'</td></tr>';
 
    }
avec le tien?????? ..............................
lewhechris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 23h36   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
c'est pareil c'est une boucle t'en fait ce que tu veux, je te conseil d'apprendre les bases du PHP avant te lancer dans un projet
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 23h47   #9
Invité régulier
 
christian lewhe
Inscription : mai 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : christian lewhe

Informations forums :
Inscription : mai 2010
Messages : 34
Points : 9
Points : 9
Par défaut ok

les bases je crois que je les ai,et je crois aussi que t'avais pas bien saisi en fait ma préocupation depuis le départ.je récupere bien mon information,c'est juste que je veux l'expression qui me permettrait de pas récuperer certaines chaines de caractères quand je fais (.*).

Citation:
Je voudrais juste savoir comment insérer les interdictions d'affichage de GSM... et 3G....
lewhechris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 23h48   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
t'as la solution sous les yeux a toi de jouer
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 06h19   #11
Invité régulier
 
christian lewhe
Inscription : mai 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : christian lewhe

Informations forums :
Inscription : mai 2010
Messages : 34
Points : 9
Points : 9
Par défaut Done stealth35

C'est peut etre pas super optimale ce que j'ai fait mais j'ai réussi à finalement faire ce que je voulais,alors ton avis sera le bienvenu.Là mon resultat s'affiche comme je le voulais.
Dejà au départ,je remplace tout ce que je ne veux pas avoir par le caractere "".

Code :
1
2
 
$content = preg_replace("#(GSM|3G).[/0-9a-zA-Z]*#i","",$content);
ensuite j'applique

Code :
1
2
 
preg_match_all("#(?:<option value='[0-9~]+'>(.*)</option>)#i", $content, $gsmList, PREG_SET_ORDER);
et j'ai le résultat.je suis sur qu'il y aura plus simple à faire.
Merci quand meme pour hier stealth35
lewhechris est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h17.


 
 
 
 
Partenaires

Hébergement Web