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 :
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>
Sa donnerais :
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;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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$Media = eregi("\<img (.*)\>",$String, $img);
Est il possible d'avoir un bon petit coup de main?

Merci!