[PHP]Fonction rechercher
nhea
Messages postés
55
Statut
Membre
-
nhea Messages postés 55 Statut Membre -
nhea Messages postés 55 Statut Membre -
Bonjour,
je cherche une fonction qui remplace des ligne de code par des images, par example
si quelqu'un écrit (:rire:) sur le forum, sa va afficher un bonhomme sourire.
Merci de vos réponse d'avance
je cherche une fonction qui remplace des ligne de code par des images, par example
si quelqu'un écrit (:rire:) sur le forum, sa va afficher un bonhomme sourire.
Merci de vos réponse d'avance
A voir également:
- [PHP]Fonction rechercher
- Fonction si et - Guide
- Rechercher ou entrer l'adresse - Guide
- Rechercher image - Guide
- Easy php - Télécharger - Divers Web & Internet
- Rechercher une chanson - Guide
14 réponses
il faut le faire avec str_replace()
par exemple : $string = str_replace(':rire:','<img src="./img.jpg" alt="sourire" />',$string);
par exemple : $string = str_replace(':rire:','<img src="./img.jpg" alt="sourire" />',$string);
2 question:
ou faut que je place la ligne de code que tu m'a donné, voici mon code si sa peut t'aider a m'indiquer ou:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr-ca"><head></head>
<body style="background-image: url(arrplan.jpg);">
<div style="text-align: center;">
<div style="text-align: center;">
<img style="width: 990px; height: 255px;" alt="" src="header.png">
<?php
if (!isset($_GET['id_sujet_a_lire'])) {
echo 'Sujet non défini.';
}
else {
?>
<table width="500" border="1"><tr>
<td>
Auteur
</td><td>
Messages
</td></tr>
<?php
// on se connecte à notre base de données
mysql_connect ('localhost', 'root', '*******************');
mysql_select_db ('forum');
// on prépare notre requête
$sql = 'SELECT auteur, message, date_reponse FROM forum_reponses WHERE
correspondance_sujet="'.$_GET['id_sujet_a_lire'].'" ORDER BY date_reponse ASC';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on décompose la date
sscanf($data['date_reponse'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour,
$heure, $minute, $seconde);
// on affiche les résultats
echo '<tr>';
echo '<td>';
// on affiche le nom de l'auteur de sujet ainsi que la date de la réponse
echo htmlentities(trim($data['auteur']));
echo '<br />';
echo $jour , '-' , $mois , '-' , $annee , ' ' , $heure , ':' , $minute;
echo '</td><td>';
// on affiche le message
echo nl2br(htmlentities(trim($data['message'])));
echo '</td></tr>';
}
// on libère l'espace mémoire alloué pour cette reqête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
?>
<!-- on ferme notre table html -->
</table>
<br /><br />
<!-- on insère un lien qui nous permettra de rajouter des réponses à ce sujet -->
<a href="./insert_reponse.php?numero_du_sujet=<?php echo $_GET['id_sujet_a_lire']; ?>
">Répondre</a>
<?php
}
?>
<br /><br />
<!-- on insère un lien qui nous permettra de retourner à l'accueil du forum -->
<a href="./index.php">Retour à l'accueil</a>
</body></html>
2iemement quand je le met avant d'afficher le message, sa me donne l'erreur suivent:
Notice: Undefined variable: string in C:\Program Files\EasyPHP 3.0\www\test\forum\lire_sujet.php on line 43
ou faut que je place la ligne de code que tu m'a donné, voici mon code si sa peut t'aider a m'indiquer ou:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr-ca"><head></head>
<body style="background-image: url(arrplan.jpg);">
<div style="text-align: center;">
<div style="text-align: center;">
<img style="width: 990px; height: 255px;" alt="" src="header.png">
<?php
if (!isset($_GET['id_sujet_a_lire'])) {
echo 'Sujet non défini.';
}
else {
?>
<table width="500" border="1"><tr>
<td>
Auteur
</td><td>
Messages
</td></tr>
<?php
// on se connecte à notre base de données
mysql_connect ('localhost', 'root', '*******************');
mysql_select_db ('forum');
// on prépare notre requête
$sql = 'SELECT auteur, message, date_reponse FROM forum_reponses WHERE
correspondance_sujet="'.$_GET['id_sujet_a_lire'].'" ORDER BY date_reponse ASC';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on décompose la date
sscanf($data['date_reponse'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour,
$heure, $minute, $seconde);
// on affiche les résultats
echo '<tr>';
echo '<td>';
// on affiche le nom de l'auteur de sujet ainsi que la date de la réponse
echo htmlentities(trim($data['auteur']));
echo '<br />';
echo $jour , '-' , $mois , '-' , $annee , ' ' , $heure , ':' , $minute;
echo '</td><td>';
// on affiche le message
echo nl2br(htmlentities(trim($data['message'])));
echo '</td></tr>';
}
// on libère l'espace mémoire alloué pour cette reqête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
?>
<!-- on ferme notre table html -->
</table>
<br /><br />
<!-- on insère un lien qui nous permettra de rajouter des réponses à ce sujet -->
<a href="./insert_reponse.php?numero_du_sujet=<?php echo $_GET['id_sujet_a_lire']; ?>
">Répondre</a>
<?php
}
?>
<br /><br />
<!-- on insère un lien qui nous permettra de retourner à l'accueil du forum -->
<a href="./index.php">Retour à l'accueil</a>
</body></html>
2iemement quand je le met avant d'afficher le message, sa me donne l'erreur suivent:
Notice: Undefined variable: string in C:\Program Files\EasyPHP 3.0\www\test\forum\lire_sujet.php on line 43
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
l'idéale serait de le faire à l'enregistrement dans la db ça n'utiliserait qu'une fois la fonction au lieu de le faire à chaque affichage.
quand je fais ce genre de chose je fais une fonction dans un sens et une fonction dans l'autre et j'utilise la premier avant l'enregistrement et la seconde avant la modification parce que logiquement on enregistre et on modifie moins qu'on affiche... à part peut être si on a affaire à des personnes très lunatique.
quand je fais ce genre de chose je fais une fonction dans un sens et une fonction dans l'autre et j'utilise la premier avant l'enregistrement et la seconde avant la modification parce que logiquement on enregistre et on modifie moins qu'on affiche... à part peut être si on a affaire à des personnes très lunatique.
Et ou je le mets le code que tu m'a donné($string = str_replace(':rire:','<img src="./img.jpg" alt="sourire" />',$string);)?
et bien juste avant d'enregistrer dans ta base de donnée
juste après htmlentities() par exemple
mais htmlentities() tu devrais le mettre aussi à l'enregistrement parce que comme je disais tu n'enregistre qu'une fois tes pages... alors que le but c'est qu'elles soient affichées le plus possible !!!
et il vaut mieux se protéger avant d'enregistrer !
au debut de chacune de mes pages je mets :
mais il faut le mettre après la connexion à mysql...
de cette manière tu es sur que tout ce qui entre dans tes scripts est protégé
juste après htmlentities() par exemple
mais htmlentities() tu devrais le mettre aussi à l'enregistrement parce que comme je disais tu n'enregistre qu'une fois tes pages... alors que le but c'est qu'elles soient affichées le plus possible !!!
et il vaut mieux se protéger avant d'enregistrer !
au debut de chacune de mes pages je mets :
function ProtectArray($item) {
$item = array_map('htmlentities',$item);
if (@mysql_real_escape_string('b')) return array_map('mysql_real_escape_string',$item);
else return $item;
}
if (isset($_GET)) $GET = ProtectArray($_GET);
if (isset($_POST)) $POST = ProtectArray($_POST);
if (isset($_COOKIE)) $COOKIE = ProtectArray($_COOKIE);
mais il faut le mettre après la connexion à mysql...
de cette manière tu es sur que tout ce qui entre dans tes scripts est protégé
Sais que a la base s'est un forum. il y a 4 partie:
-index.php
-lire_sujet.php
-insert_sujet.php
-insert_reponse.php
si tu veut les script des 4 dit moi le
-index.php
-lire_sujet.php
-insert_sujet.php
-insert_reponse.php
si tu veut les script des 4 dit moi le
Bon je vais dire clairement mon projet.
Je fait un Forum qui compose 4 page: index.php, insert_sujet.php, insert_reponse.php et lire_sujet.php dans sa, j'aimerais ajouter une fonction qui permet les smileys d'etre afficher.
Je fait un Forum qui compose 4 page: index.php, insert_sujet.php, insert_reponse.php et lire_sujet.php dans sa, j'aimerais ajouter une fonction qui permet les smileys d'etre afficher.
et bien tu mets tes traitements de chaines là ou tu les enregistres dans la base de donnée donc dans insert_sujet.php je suppose...
et pour rajouter des smiley tu fais ça avec des str_replace() ou plutôt des array dans str_replace()
https://www.php.net/str_replace
voilà la doc de la fonction
et pour rajouter des smiley tu fais ça avec des str_replace() ou plutôt des array dans str_replace()
https://www.php.net/str_replace
voilà la doc de la fonction