J'ai besoin de supprimer toutes les images d'une chaîne et je n'arrive pas à trouver la bonne façon de le faire.
Voici ce que j'ai essayé, mais ça ne marche pas :
preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;
Des idées ?
J'ai besoin de supprimer toutes les images d'une chaîne et je n'arrive pas à trouver la bonne façon de le faire.
Voici ce que j'ai essayé, mais ça ne marche pas :
preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;
Des idées ?
Essayez de laisser tomber le \
devant le >
.
Edit : Je viens de tester votre regex et cela fonctionne bien. C'est ce que j'ai utilisé :
<?
$content = "this is something with an <img src=\"test.png\"/> in it.";
$content = preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;
?>
Le résultat est :
this is something with an (image) in it.
Je suggère d'utiliser le strip_tags
método.
Je voulais afficher les 300 premiers mots d'un article en tant qu'aperçu, ce qui signifiait malheureusement que si un article contenait une image dans les 300 premiers mots, celle-ci était affichée dans la liste des aperçus, ce qui perturbait vraiment ma mise en page. J'ai utilisé le code ci-dessus pour masquer toutes les images de la chaîne tirée de ma base de données et cela fonctionne à merveille !
$news = $row_latest_news ['content'];
$news = preg_replace("/<img[^>]+\>/i", "", $news);
if (strlen($news) > 300){
echo substr($news, 0, strpos($news,' ',300)).'...';
}
else {
echo $news;
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.