Suppression des articles d'une chaine
zuzen
-
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 !
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
-
$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 . -
-
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 . -
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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. -
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. -
Dans ce cas tu reprend exactement le meme code mais tu utilise preg_replace au lieu de str_replace ,
preg_replace fait la meme chose mais l'applique uniquement a la premiere occurence (au premier mot clé) trouvé
pour plus d'infos :
https://phpsources.net/code/php/chaine/245_remplace-seulement-lepremiere-occurence-d-une-chaine -
-
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 -
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 :) . -
-
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.