Suppression des articles d'une chaine

zuzen -  
 zuzen -
Bonjour,
Je cherche depuis un bon moment mais je n'arrive pas à trouver

Comment supprimer les articles d'une chaîne de caractères avec php

Si j'ai :
$str="Les jours de demain";
ou bien
$str="La fille d'à côté";

Obtenir :
$res = "jours de demain";
ou encore :
$res = "fille d'à côté";

Merci bien !
Configuration: Mac OS X
Firefox 2.0.0.13

12 réponses

  1. IdleMan Messages postés 254 Statut Membre 60
     
    $res =str_replace("Les jours de demain", "jours de demain ",$str);
    
    echo $res ;


    idem pour la sconde phrase : )

    Explication :

    La fonction str_replace(); prend 3 arguments , le premier est le mot a remplacer , le second est le mot qui remplace , le troisieme est la chaine dans laquelle il faut effectuer les remplacements .
    0
  2. zuzen
     
    Au fait, $str peut prendre d'autres valeurs, pas necessairement "Les jours de demain"
    0
  3. IdleMan Messages postés 254 Statut Membre 60
     
    Dans quel contexte veut tu supprimer des caracteres ?

    tu peut remplacer

    $res =str_replace("Les jours de demain", "jours de demain ",$str);

    echo $res ;

    par

    $aremplacer="Les jours de demain";
    $remplacement="jours de demain ";

    $res =str_replace($aremplacer, $remplacement ,$str);

    echo $res ;

    et remplacer juste les deux variables .

    Donne moi des precision sur l'utilisation que tu veut en faire .
    0
  4. zuzen
     
    En fait, $str peut prendre n'importe quel valeur, c'est un titre pris d'une base de données et il me faut enlever les articles s'il y a, en tenant compte que les articles peuvent être "l'", "la", "les", "unes", "un" etc.

    Merci de votre aide
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. IdleMan Messages postés 254 Statut Membre 60
     
    Dans ce cas c'est très simple , lorsque tu recupere ton titre tu le sotck dans une variable , ici nous la nommons $title

    voila le code :

    $title =str_replace("le", "",$title);
    $title =str_replace("la", "",$title);
    $title =str_replace("les", "",$title);
    $title =str_replace("Le", "",$title);
    $title =str_replace("La", "",$title);
    $title =str_replace("Les", "",$title);

    echo $title ;

    La le code est tres simplifiée pour que tu comprenne , donc pas tres pro (repetition de la fonction et des variables)

    tu peut faire ça sous forme de tableau c'est deja plus joli.
    0
  7. zuzen
     
    Oui, j'y avais pensé mais cela va supprimer tous les articles partout dans le titre mais je ne veux que supprimer le premier.

    Par exemple le $titre="L'homme de l'avenir"
    donnerai $res="homme de avenir"

    et je voudrai $res="home de l'avenir"

    Je veux seulement virer le premier article.
    0
  8. zuzen
     
    Au fait c'est presque ça mais j'ai tojours un problème de substitution, voici mon code :

    $str="La casa de las niñas";

    $articulo = array ('/la_/', '/las_/');
    $titulo=preg_replace($articulo,'', $str, 1);
    echo "Titulo final: $titulo";

    Et j'obtiens : "Título final: casa de niñas"

    C'est à dire, que l'script me vire le premire article "la", mais aussi les second "las"

    J'ai ajouté cet ligne : if ((strpos($str, $articulo))==0) pour m'assurer que le $articulo est en au debut de phrase, mais rien à faire.

    Merci encore
    0
  9. IdleMan Messages postés 254 Statut Membre 60
     
    Logique qu'il te vire les deux , tu a mis deux expressions dans ton tableau , il vire donc le premier la et le premier las donc il ne reste plus d'article .

    Pour la solution ... je t'admet qu'il faut que j'y réfléchisse ^^ mais je suis un peu gris la donc demain la solution me viendra plus clairement :) .
    0
  10. zuzen
     
    Au fait,
    J'avais pas dit que les articles peuvent exister ou non, c'est à dire qu'il y aurait des titres avec ou sans articles.
    0