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 !
A voir également:
- Suppression des articles d'une chaine
- Forcer suppression fichier - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Chaine tnt gratuite sur mobile - Guide
- Suppression compte gmail - Guide
- Chaine radio - Télécharger - Médias et Actualité
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 .
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
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.
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.
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
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
$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 :) .
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 :) .