Extraire un mot d'une chaine de caracteres php

Fermé
domaxa Messages postés 1 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 26 novembre 2013 - 26 nov. 2013 à 09:58
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 - 26 nov. 2013 à 15:43
Bonjour,

Afin de renseigner le champ "Company" d'un flux XML, je cherche la commande php qui permettrait d'extraire le nom de la société qui est inséré dans le champ 'description' de la table 'info' dans mysql.

Le champ "description" a cette forme: Societe: Capito, Localisation: Suresnes, forte de plus de 21000 salariés ...

Le champ "Company" de mon flux est aujourd'hui $this->addCData('company', 'Non renseigné'); Non renseigné étant la valeur par défaut.
Je souhaite remplacer 'Non renseigné' par ce qui se trouve entre 'societe' et la ','

Pour exemple, le champ "description" de la table 'info' est écrit comme cela: $this->addCData('description', $info->getdescriptionAsHtml());

J'ai bien trouvé des commandes de type "eregi" mais je ne sais pas comment la syntaxer. Peut être existe t'il d'autres commandes.

Merci de votre aide,
A voir également:

1 réponse

Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
Modifié par Doctor C le 26/11/2013 à 15:54
Tu pourrais explorer l'utilisation de la fonction
explode()
de PHP. La fonction prend en paramètre un délimiteur (dans ton cas la virgule) puis la chaîne de caractères à séparer. Elle retourne un tableau avec chaque élément séparé par le délimiteur.

Par exemple, si ta description est :

"Societe: Capito, Localisation: Suresnes, forte de plus de 21000 salariés"

Tu peux appeler la fonction de la manière suivante:

$details = explode(',', $info->getdescriptionAsHtml());


Ton tableau $details ressemblera à:

array(1)
(
    [0] => "Societe: Capito"
    [1] => "Localisation: Suresnes"
    [2] => "forte de plus de 21000 salariés"
)


Ensuite, il te reste à retirer la chaîne "Societe:" de la chaîne "Societe: Capito".

Tu peux effectuer cette manipulation en remplaçant la chaîne non-désirée par une chaîne vide avec la fonction
str_replace()
. Les paramètres sont dans l'ordre: la chaîne recherchée, la chaîne de remplacement, la chaîne dans laquelle effectuer la recherche et le remplacement.

$final = str_replace("Societe:", "", $details[0]);


Et tu peux terminer le tout en retirant les espaces avant et après ta chaîne:

$final = trim($final);


Bonne chance!

Echo "Lima Mike Alfa";
0