IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Formatage de chaine


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2011
    Messages : 26
    Par défaut Formatage de chaine
    Bonjour, je viens quérir un peu d'aide concernant le formatage de chaine de caractères.
    Je récupéré un flux RSS que je parse et que j’intègre dans une base de données. Il s'agit de fiche produits. La chaine récuperée pour le titre de mon article est de ce format la :
    Plancha gaz Eno Mania 60 - Prix discount 444,00 € - Plancha et grill Eno - Super10Count
    Ceci est stocké dans une variable et j'aimerai enlevé dans cette chaîne tout ce qui ne concerne pas le nom du produit à savoir pour cette exemple "Mania 60".
    Voici un comment est constitué mon code (enfin la partie qui me sert à formater mes données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    foreach($doc->channel->item as $item)
    		{
    			$valeur = "";
    			$chaine = $item->title;
    			if(strpos($chaine, "mania 45"))
    			{
    				$valeur = "mania 45";
    			}
    			else
    			{
    				$valeur = utf8_decode($chaine);	
    			}
    			$site = explode('/',$item->link);
    			$explode_price = explode(".",$item->description);
    			$prix =  substr($explode_price[3], -4);
    			$sql = "insert into produits(title ,site, link, prix) values ('".$valeur."','".$site[2]."','".$item->link."','".$prix."')";
    Si quelqu'un pouvait me mettre sur la voie afin que je puisse finir (car il me reste plus que ça), ce serait très gentil.

    Cordialement.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quelle est la règle qui permet de dire qu'on retire "Mania 60" et pas autre chose ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2011
    Messages : 26
    Par défaut
    Je ne sais pas du tout, entre les str_replace, preg_replace et autre je suis un peu perdu, je veux juste extraire la chaine "mania 60" de la chaine initiale et ceci dans une boucle foreach.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Certes mais pourquoi on retire "Mania 60" et pas "Eno Mania 60" par exemple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2011
    Messages : 26
    Par défaut
    En fait, cela correspond au model de la marque eno, je souhaite afficher uniquement les model, qui on des déclinaisons (45,60,75). Et ainsi rendre un affichage propre en base de données et en affichage. Je voudrais éviter de me retrouver avec des lignes comme celle dite plus haut par exemple.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Certes mais comment ton programme va savoir quel bout il retire dans la chaine ?
    On peut retirer tous les "mania xx" mais je suppose que tu as des cas multiples.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formatage de chaine avant insertion dans BDD MySQL
    Par kdson dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 18/01/2008, 01h01
  2. [RegEx] Problème de formatage de chaine de caractère
    Par lecra dans le forum Langage
    Réponses: 5
    Dernier message: 29/05/2007, 14h17
  3. formatage de chaine
    Par julino dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/02/2007, 17h28
  4. [Tableaux] formatage de chaine
    Par renaud26 dans le forum Langage
    Réponses: 17
    Dernier message: 15/06/2006, 21h44
  5. Formatage du chaine suivant un masque
    Par AlexB59 dans le forum Langage
    Réponses: 1
    Dernier message: 07/02/2006, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo