Page 1 sur 1

Ajouter un "preg_match_all" à une requete ?

Posté : 27 nov. 2008, 05:42
par neotar
Hello,

J'essaie de m'en sortir dans mon petit panneau d'admin mais quand on est noob ça nage rame dur.
Pour continuer ma question d'avant hier, j'essaie d'appliquer un "preg_match_all" à mon "Contenu". Je ne dois pas être bien loin mais j'aurais besoin d'aide pour la syntaxe.

Voilà ce que j'ai en ce moment, j'affiche le contenu entier d'une table et j'aimerais enlever le texte indésirable du "Content" :

Code : Tout sélectionner

preg_match_all('#<a\s*rel="nofollow"\s*target="_blank"\s*href=".+"\s*>\s*<img\s*src=".+"\s*/>\s*</a>#Us', $row, $matches, PREG_SET_ORDER);

Code : Tout sélectionner

$query = "SELECT * FROM table ORDER BY id DESC LIMIT $offset, $rowsPerPage"; $result = mysql_query($query) or die('Error, query failed'); while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<div class=\"entry\">" . "<h6>{$row['Date']}</h6>" . "<h2>{$row['Title']}</h2>" . "{$row['Content']}" . "</div>"; }



J'avais fait un petit test mais pour l'appliquer en conditions réèlle c'est autre chose

Code : Tout sélectionner

$str = '<div class="XYZ"><h6>some text</h6><h2>blablabla<br /> <a rel="nofollow" target="_blank" href="http://www.image.com/image.jpg"><img src="http://www.image.com/bigimage.jpg" border="0" alt=""/></a> <br /><br /><br /><br />blablabla'; preg_match_all('#<a\s*rel="nofollow"\s*target="_blank"\s*href=".+"\s*>\s*<img\s*src=".+"\s*/>\s*</a>#Us', $str, $matches, PREG_SET_ORDER); foreach ($matches as $val) { echo $val[0]; }
Sortie :
<a rel="nofollow" target="_blank" href="http://www.image.com/image.jpg"><img src="http://www.image.com/bigimage.jpg" border="0" alt=""/></a>

Merci d'avance :wink: