Forum Clubic

[résolu][php/sql]suppression balise et contenu

rerererecoucou

Et oui MiWi toujours sur son projet!!!
J’ai un $contenu qui m’affiche TOUS le contenu de mon fichier html et un $contenu1 qui afiche mon contenu ($contenu) mais sans toute les balises html, autrement sans à peu près :
<!DOCTYPE html PUBLIC “-…” “http://www…dtd” >
<html xmlns=“http://www…/xhtml?quot; xml:lang=“fr” lang=“fr”>
<head>
<title>…</title>
<link rel=“stylesheet” type=“text/css” href=”…css" />

<meta name=“author” content="…" />

<h1>… <p>…
il n’y a plus les balises dans $contenu1, mais m’a laissé le titre, le contenu des h1-h6!!
or le titre et les h1-h6 font parti d’autres champ de ma même table de ma base de donné, mais il me faut les supprimer dans $contenu1!!!sachant que $contenu1 est dans ma base de donnée!

comment faire??? :??:

Peux-tu donner ton code PHP s’il te plait :slight_smile:

En faite, c’est bon, j’ai réussi à tout trouvé (une partie de mon projet fini, l’indexation d’un contenu d’un texte html dans une base de donnée).

Voici mon code final pour cette partie :


	// indexation contenu
	$url = $_FILES['fichier']['name'];
	$contenu =implode('', file($url));//recupere tt le contenu
	$search = array('#(\<h[1-6]\>(.+)\<\/h[1-6]\>)+#', '#(\<title\>(.+)\<\/title\>)+#','#\\r#','#\\n#');
	$replace = array('','','','');
	$contenu1=preg_replace($search,$replace,$contenu);//remplace les balises h1-h6 et titre par rien!
	$contenu1 = strip_tags($contenu1);//supprime les balises html
	eregi("<title>(.*)</title>",$contenu,$regs);//récupère le titre $regs[1]
	if (preg_match_all('#(\<h[1-6]\>(.+)\<\/h[1-6]\>)+#', $contenu, $reg2))//récupère le contenu de h1 à h6
	{
  $count=count($reg2[0]);
  $h2="";
  for($i=0;$i<$count;$i++)
  {
  	$h=$reg2[0][$i];
  	$h2=$h2." ".$h.".";
  	$h2=strtolower(strip_tags($h2));  
  }
	}
	else
	{
  echo "<br>marche pas";
	}
	$tags = get_meta_tags($url);//récupère les meta tags du fichier passé en paramètre
	$tag_keyword = $tags['keywords'];//recupère le contenu de <meta name=keywords>...
  
	//gestion dans la base de donnée du contenu
	if((isset($_POST['envoie']))&&($_POST['envoie']=='1'))
{
	require("Secret/connect.php");
	if($CONNEXION)
	{
  $req="INSERT INTO texte (url, contenu,titre,h1h6,metakeywords) VALUES ( '".$url."','".mysql_real_escape_string($contenu1)."','".mysql_real_escape_string($regs[1])."','".mysql_real_escape_string($h2)."','".mysql_real_escape_string($tag_keyword)."')";//range l'url, le contenu sans balise, le titre et les mots clés dans la base de donnée
  $result=mysql_query($req,$CONNEXION);
  if($result)//vérifie si la requête a été éffectué et affiche un message
  {
  	echo "<br>enregistrement pris en compte";
  }
  else
  {
  	echo "<br>recommencer, erreur dans l' enregistrement";
  }
	}
}

Voilà!!! en tout cas, merci à ceux qui ont pu m’aider!!!
S’il y a d’autre façon, faites-le moi savoir!! :stuck_out_tongue: