[PHP]afficher une image avec str_replace.
zoutai
-
zoutai -
zoutai -
Bonjour,
Voilà, je me code un blog en local (vraiment minimal) tout marche bien et j'en suis plutôt content. Je me suis donc mis en tête de l'améliorer un petit peu : quand on -je- met une url entre les balises [img] et /img je veut qu'il me les remplace dans la chaine de caractère (c-a-d le contenu du billet) par "<img src='" et "'/ > . Rien de bien compliqué apparemment avec la fonction str_replace ! Mais voilà le remplacement ne se fait pas et il m'affiche bêtement [img]xxx/img. (je n'utilise pas htmlspecialchars pour l'affichage).
voici le code :
Merci à vous !
Voilà, je me code un blog en local (vraiment minimal) tout marche bien et j'en suis plutôt content. Je me suis donc mis en tête de l'améliorer un petit peu : quand on -je- met une url entre les balises [img] et /img je veut qu'il me les remplace dans la chaine de caractère (c-a-d le contenu du billet) par "<img src='" et "'/ > . Rien de bien compliqué apparemment avec la fonction str_replace ! Mais voilà le remplacement ne se fait pas et il m'affiche bêtement [img]xxx/img. (je n'utilise pas htmlspecialchars pour l'affichage).
voici le code :
<header style="font-size:75px;"><center><a href="minimal-bloging.php"><span style="font-size:120px;">M</span>inimal <span style="font-size:120px;">B</span>log</a></center></header>
<center><form id=post method="post">
<fieldset>
<legend>Post a new text:</legend>
<label for=nom>Content:</label><br />
<textarea id=content name=content rows=3 required style="resize:none; width:600px; font:italic;" placeholder="Type here your text..."></textarea>
<br />
<button type=submit>Blog it !</button>
</fieldset>
</form></center>
<?php
if(isset ($_POST['content'])){
/*
*
*
*C'EST ICI QUE CA PLANTE !!!!
*
*/
$content =($_POST['content']);
str_replace("[img]", "<img src=\"", $content);
str_replace("/img", "\"/ >", $content);
$date = time();
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
$req = $bdd->prepare('INSERT INTO entry(entry,date) VALUES(:content, :date)');
$req->execute(array(
'content' => $content,
'date' => $date
));
echo '<br />Succefuly posted ! ;-)';
echo ("<script type=\"text/javascript\">
<!--
var obj = 'window.location.replace(\"minimal-bloging.php\");';
setTimeout(obj,1000);
// -->
</script>");
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
}
?>
Merci à vous !
A voir également:
- [PHP]afficher une image avec str_replace.
- Légender une image - Guide
- Image iso - Guide
- Reduire taille image - Guide
- Agrandir une image - Guide
- Transformer une image en icone - Guide
2 réponses
bonsoir,
c'est normal ! tu ne récupère pas ce que tu renvoi tes str_replace
utilise des cotes simple ' au lieu des double " pour définir tes chaines les doubles cotes ne doivent être utilisé que si il y a des variables a l'intérieur est que la concaténation n'est pas possible par exemple ce qui est rare ou pour des caractère spéciaux comme \r \n \t par exemple
c'est normal ! tu ne récupère pas ce que tu renvoi tes str_replace
$content = str_replace('[img]', '<img src="', $content);
$content = str_replace('/img', '"/ >', $content);
utilise des cotes simple ' au lieu des double " pour définir tes chaines les doubles cotes ne doivent être utilisé que si il y a des variables a l'intérieur est que la concaténation n'est pas possible par exemple ce qui est rare ou pour des caractère spéciaux comme \r \n \t par exemple