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!
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!!