[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.
- Image iso - Guide
- Légender une image - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille 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