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

Langage PHP Discussion :

Comment trouver un mot dans une phrase et le supprimer ? [PHP 7]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Chargé d'études informatiques
    Inscrit en
    Avril 2019
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Chargé d'études informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 55
    Points : 41
    Points
    41
    Par défaut Comment trouver un mot dans une phrase et le supprimer ?
    Bonjour,
    Cela fait plusieurs heures que je bloque sur le fait de savoir si un mot appartient à une phrase et le supprimer de celle si si il y appartient.
    J'ai déjà essayé d'utiliser preg_match et stripos mais cela ne semple pas fonctionner et je n'ai trouvé aucune piste pour la suppression.

    Il faut savoir que je travaille sur l'importation d'un fichier excel CSV dans une base de données, le format CSV étant ultra chiant j'ai du utiliser des preg_replace pour enlever tout les caractères spéciaux de chaque ligne et je travaille maintenant sur la séparation de chaque cellule qui n'a pas été faite par PHPExcel. La partie où je bloque actuelle est que dans ma bdd j'ai une table contenant toutes les options possibles pour un élève qui peut en avoir jusqu'à 3, je suis donc en train d'essayer de savoir si l'option récupéré par un requete dans ma bdd appartient à ma fameuse ligne CSV pour la supprimer.

    Voilà j'espère en avoir assez dit et que quelqu'un saura répondre à ma question
    Merci d'avance !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    str_replace().

  3. #3
    Membre du Club
    Homme Profil pro
    Chargé d'études informatiques
    Inscrit en
    Avril 2019
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Chargé d'études informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    str_replace().
    Merci pour str_replace cela me sera utile, le problème étant que str_replace ne retourne pas de boolean permettant de savoir si le mot était bien dans la ligne pour me permettre de créer une liaison avec l'élève et cette option dans ma base de donnée

  4. #4
    Invité
    Invité(e)
    Par défaut
    ...J'ai déjà essayé d'utiliser preg_match et stripos...
    Si tu ne montres pas comment, on ne peut pas te corriger.

    Voir aussi preg_replace()

  5. #5
    Membre du Club
    Homme Profil pro
    Chargé d'études informatiques
    Inscrit en
    Avril 2019
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Chargé d'études informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Si tu ne montres pas comment, on ne peut pas te corriger.
    Voici mon code actuellement:
    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
    17
    18
    19
    20
     
    $option2 = '';
    $option3 = '';
     
    $req = bdd()->query('SELECT * FROM options');
     
    	while($result = $req->fetch()){
     
    		if(stripos(strtoupper($result['nom_option']), trim($text)) !== FALSE){
     
    			echo $result['nom_option'];
    			$option2 = $result['nom_option'];
    			echo " ".$option2;
    			$text = substr($text, strlen($option2)+1);
    			echo $text;
    			break;
     
    		}
     
    	}

  6. #6
    Invité
    Invité(e)
    Par défaut
    Alors :

    1- stripos(strtoupper(... : strtoupper() ne sert à rien, puisque stripos() ne tient pas compte de la casse.

    2- Attention avec stripos (ou strpos) : si "la première occurrence dans la chaîne" est en 1ère position, ça va renvoyer 0 (index de la 1ère position)
    Il faut donc utiliser === false (ou !==) pour distinguer 0 de false (ce que tu as correctement fait).

    3- Affiche $result['nom_option'] et trim($text) à chaque tour de boucle (avant le if), pour voir ce qu'ils contiennent

    4- et SURTOUT : je crois que tu as interverti $result['nom_option'] et trim($text) dans la fonction stripos !

    stripos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int

    Cherche la position numérique de la première occurrence de needle dans la chaîne haystack.
    Dernière modification par rawsrc ; 20/05/2019 à 12h05.

  7. #7
    Membre du Club
    Homme Profil pro
    Chargé d'études informatiques
    Inscrit en
    Avril 2019
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Chargé d'études informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    MERCI BEAUCOUP
    Grace à vous j'ai réussi à pas mal avancer voici où j'en suis
    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
    17
     
    $req = bdd()->query('SELECT * FROM options');
     
    	while($result = $req->fetch()){
     
    		if(stripos(strtoupper(trim($text)), $result['nom_option']) !== FALSE){
     
    			$eleve[4] = $result['nom_option'];
    			break;
     
    		}
     
    	}
     
    echo $eleve[4];
    $text = substr($text, strlen($eleve[4])+1);
    echo $text;
    Seul probleme : ma variable $text ne contient plus rien à l'intérieur, je ne comprends pas pourquoi étant donné que je n'utilise que substr de la valeur de la premiere option

    ( J'ai renommé $option2 et $option3, ils sont désormais dans un tableau $eleve puisque j'utilise actuellement une fonction )

  8. #8
    Invité
    Invité(e)
    Par défaut
    Il ne faut pas utiliser substr, mais str_replace.

    Cela dit, comme tu ne montres pas d'exemple de $text ni $result['nom_option'] ni $eleve[4],...

    N.B. Et strtoupper ne sert toujours à rien.

  9. #9
    Membre du Club
    Homme Profil pro
    Chargé d'études informatiques
    Inscrit en
    Avril 2019
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Chargé d'études informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Je n'ai rien dit. en fait cela marchait c'était juste que j'étais sur une classe où les élèves n'avait que deux options la 3e n'arrive qu'à partir des classes de 5e

    Merci beaucoup pour votre aide elle m'a été fort utile !

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

Discussions similaires

  1. Trouver un mot dans une phrase en JavaScript
    Par ambi86 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/10/2016, 12h42
  2. Comment trouver un mot dans une chaine ?
    Par totoAussi dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 06/05/2012, 10h38
  3. Trouver un mots dans une phrase
    Par VEN0M1 dans le forum Débuter
    Réponses: 2
    Dernier message: 07/05/2009, 17h46
  4. Comment extraire des mots dans une phrase (chaine de characteres)
    Par gilles06 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/07/2008, 19h54
  5. requête pour trouver un mot dans une phrase
    Par FRIGAUX dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 25/11/2006, 23h18

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