Bonjour,
Je rencontre actuellement un problème pour un script que j'élabore actuellement.
Principe du Script :
Je souhaite, séparer le contenu "Textuel" (sans liens hypertexte) du contenu "Media" (donc regroupé les images, vidéos etc..), puis afficher 60% du contenu textuel de la chaine..
Exemple :
Sa donnerais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <p>Salut dans cette <a href=lol>article</a> il y à une superbe photo <img src="lolilol.com"> voila à bientot!</p>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Partie 1: <img src="lolilol.com"> Partie 2: <p>Salut dans cette article il y à une superbe photo voila à bientot!</p>
Pour cela, j'utilise les regex sous preg_replace..
Voici la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <? function Cut($String) { $String = preg_replace("@\<a[\!]*?[^\[\]]*?\>@", "", $String); // Supression des <a *> $String = preg_replace("</a>", "", $String); // Supression des </a> $StringNoMedia = preg_replace("@\<[\!]*?[^\[\]]*?\>@", "", $String); // Supression de toutes les balises $StringCut = explode(" ", $StringNoMedia); $words_to_count = strip_tags($StringNoMedia); $pattern = "/[^(\w|\d|\'|\"|\.|\!|\?|;|,|\\|\/|\-\-|:|\&amp;|@)]+/"; $words_to_count = preg_replace ($pattern, " ", $words_to_count); $words_to_count = trim($words_to_count); $total_words = count(explode(" ",$words_to_count)); $cut = $total_words * 0.6; $NewString = ""; for($i=0;$i<$cut;$i++) { $NewString .= " ".$StringCut[$i]; } $NewString .= ""; $i = 0; return $NewString; // Affichage des données non "Media" }
Mais pour afficher UNIQUEMENT les Média type "Vidéos / Images", je n'arrives absolument pas à les afficher (j'ai essayé sous Eregi avec la ligne suivante mais sans succès)
Eregi :
Est il possible d'avoir un bon petit coup de main?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $Media = eregi("\<img (.*)\>",$String, $img);
Merci!
Partager