[PHP] Un script intelligent !

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 01:21

Salut, à toutes et à tous alors voilà comme je suis en train de construire mon site j'aimerais mettre un script php qui vérifieras si les "NEWS" comporte des liens comme http://youtube.com ET/OU http://dailymotion.com et donc qui signalerais que la "NEWS" comporte un lien multimedia exemple:
<?php
if(si la news comporte un lien   http://youtube.com ET/OU http://dailymotion.com){
echo '<img src="video.png">';
}
else{
echo "aucun média";  <<< ou simplement rien ^^.
}
?>
Merci
Cordialement, Amine

Eléphant du PHP | 343 Messages

24 juil. 2011, 05:38

Tu comptes récupérer comment le contenu de la news?
Voila comment je vois la chose, le code est fonctionnel chez moi. A toi de voir si tu veux progresser par toi même ou si tu veux le code tout cuit ;)

Une variable $ton_text avec ton contenu (c'est toi qui voit comment tu récupères ton contenu).
Un preg_match_all détectant les url, et en paramètres: $ton_text,$tableau,PREG_SET_ORDER
Un foreach et dedans tu testes un preg_match youtube. si tu trouves => tu affiches sinon tu n'as pas de "youtube" dans les url ;)

Taille du script: 8 lignes pour te donner une idée.
Développeur web

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 10:10

Ok merci je vais commencer à ecrire sa il faut que je comprenne les fonctions etc. .. ...

Merci
Cordialement,Amine

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 10:26

Salut, désolés je n'y arrive pas je te remercie de m'envoyer le code si possible commenter à l'adresse :
si j'ai des questions je pourrais te les posaient directement par la suite.

Merci
Cordialement, Amine

ViPHP
ViPHP | 4039 Messages

24 juil. 2011, 11:26

Salut, désolés je n'y arrive pas
Après seulement 10 minutes d'essai ? Pas très pro tout ça... et les réponses de sam12 n'aident pas plus à la compréhension.

ProNetwork, as-tu réussi à mettre le contenu de la future news dans une variable, afin de pouvoir la traiter ? Si oui, montre-nous toujours la ou tu en es arrivé, il sera ensuite plus facile de te mettre sur la bonne voie.

(par contre, n'espère pas qu'on t'envoie du tout fait :wink: )
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 20:08

VOici le code :
<?php

require('connexion_bdd.php');
$requete="SELECT * FROM news";
while ($data = ($requete)){
?>
News : </br>
<?php echo $data['contenue']; 
  mysql_close(); ?>

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 20:09

Re désolés j'ai oublier le } pour la boucle while ^^ .

Eléphant du PHP | 343 Messages

24 juil. 2011, 20:47

Avec ça arrives-tu à récupérer ton contenu? Je dirais non vu que tu ne fais ni un mysql_query ni un mysql_fetch_assoc.

Donc je vais un peu plus préciser ma pensée mais là tu n'auras qu'à convertir ce que je dis en code (aucun intérêt, ça t'enlève tout le travail de réflexion).

Bref,

Une variable $ton_text avec ton contenu que tu as visiblement stocker dans ta bdd.
Un preg_match_all détectant les url, et en paramètres: $ton_text,$tableau,PREG_SET_ORDER
Un foreach associant $tableau comme $liens (par exemple).
Dans ce foreach tu testes un preg_match youtube sur $liens[0].
Si tu trouves => tu affiches sinon tu n'as pas de "youtube" dans les url

Le foreach traitera tous les liens en boucle, si il trouve youtube, il le garde et tu peux l'afficher sinon il le jette ;)

Plus clair, je ne peux pas :?
Si tu n'y arrives vraiment pas, poste ce que tu as fais, je verrais comment t'aider.
Développeur web

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 21:13

dsl j'ai copié le code vite fait mais je sais comment faire le query et le fetch pour les tableaux .... moi se que je demande c'est seulement sa :D ?

Eléphant du PHP | 343 Messages

24 juil. 2011, 21:35

Tout est expliqué là alors: http://www.phpdebutant.org/article47.php

Par contre si tu voulais juste récupérer ton contenu pourquoi demandes-tu à chercher youtube dedans?
Développeur web

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 21:49

je me suis mal expliqué le contenue je sais le recuperais ce que je veut c utiliser pregmatch all pour chercher l'url c'est je pense qu'avec un peu de reflexion j'y arriverai

Eléphant du PHP | 343 Messages

24 juil. 2011, 22:06

Il y a 2 solutions, soit tu construis toi-même ta regex, soit tu cherches sur google.
Si vraiment c'est ton seul probleme, indique moi ton code ou au moins ce que tu as commencé pour voir où tu en es ;)
Développeur web

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 22:24

Aurais tu skype , msn ??? pour qu'on puisse parler directement : mon adresse : [email protected] par la suite je te donnerais mes idents msn ou skype .

Cordialement Amine je suis interesser par le Regex ?

Merci

Eléphant du PHP | 343 Messages

24 juil. 2011, 22:43

Je ne fais pas du support par mail. Ici c'est un forum donc pense aux autres qui dans les jours à venir auront besoin de ton script!
Si tu penses que je vais t'envoyer le script directement sur ton mail, tu as tout faux ;)

Déjà montre-moi ce que tu as commencé après on avisera.
Développeur web

ProNetwork
Invité n'ayant pas de compte PHPfrance

24 juil. 2011, 23:42

<html>
<style = "text/css">
        .titre{font-size:15pt; color:grey;}
        .date{font-size:15pt; color:skyblue;}
        .contenue{font-size:15pt; color:black;}
        .news{border: 1px solid grey;margin-top:10px;}
</style>
      


      <html>
<?php
//Connexion BDD
$host = "localhost";
$user = "root";
$bdd = "script_news";
$passwd  = "";
// Connexion au serveur
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

$id= intval($_GET['id']);    
$requete="SELECT * FROM news";
while ($data = ($requete))
{


?>

<div class="news">
<div class="titre">Titre: <?php echo $data['titre']; ?> </div>

<div class="date">Date: <?php echo $data['date']; ?> </div>
</br>
<div class="contenue"><?php echo $data['contenue']; ?>
</div>
            </div>

<?php 
}

   
   

   
   if($id != 0){
   
        $sql = 'SELECT * FROM news WHERE id='.$id.'';
        $req = mysql_query($sql) or die(mysql_error('erreur'));
      
        $data = mysql_fetch_assoc($req);
        echo $data['titre'];   ?>
        -- <i><?php echo $data['date']; ?></i>
        <a style="font-family:Verdana;"><p>
        <?php  echo $data['contenue'];
    }
                         ?>
                         </p>
                         </a>
<?php  mysql_close(); ?>

Voilà .... je voulais vous mettre un code tout long comme vous voulais ^^ ...