5568 sujets

Sémantique web et HTML

Bonjour chers amis de Alsacreations, on a 100o fichiers avec a 1 <title>, 1<h1>, 2<h2>, 2<h3>, un peu de texte d'introduction au form et un formulaire. Ce qu'on veut faire est remplir d'un coup les h1-h2 et h3 avec le contenu de la balise title de chaque fichier. Nous avons essayé avec textcrawler mais on arrive pas le faire. Merci d'avance.
Belle exemple de bonne pratique, cher "ami" ! Smiley biggol

Pourquoi ne pas utiliser php (par exemple) pour récupérer le contenu du <title> ?
Bonjour,

C'est un peu bizarre comme demande. Théoriquement si tu as des titres de section dans ton document c'est pas pour mettre le même contenu dans chaque titre. Smiley ohwell

Tu veux réaliser cette opération une bonne fois pour toute? Dans ce cas il faudra sans doute passer par un outil de parsing, soit un parseur XML (si tes fichiers sont bien formés et peuvent être analysés comme fragments XML), soit un outil tel que sed, awk, etc.
Si tu veux réaliser l'opération côté client (dans le navigateur), ce sera à faire en JavaScript, et là c'est un peu plus simple vu que tu peux te reposer sur le parseur HTML du navigateur et sur le DOM.
Dans les deux cas ça demande des compétences de développement un peu solides.

<?php
	
	function nom_fonction()
{
	//La page qu'on veut utiliser
	$SiteURL = '';
	
	//On initialise cURL
	$ch = curl_init();
	//On lui transmet la variable qui contient l'URL
	curl_setopt($ch, CURLOPT_URL, $SiteURL);
	//On lui demdande de nous retourner la page
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	//On envoie un user-agent pour ne pas être considéré comme un bot malicieux
	curl_setopt($ch, CURLOPT_USERAGENT, '');// << a remplir entre les ''
	//On exécute notre requête et met le résultat dans une variable
	$resultat = curl_exec($ch);
	//On ferme la connexion cURL
	curl_close($ch);
	
	//On crée un nouveau document DOMDocument
	$SitePage = new DOMDocument();
	//On y charge le contenu qu'on a récupéré avec cURL
	$SitePage->loadHTML($resultat);
	 
$txt = $resultat;
 
preg_match_all('`<title>(.+?)</title>`i', $txt, $out); // tu récupère le contenu title
	foreach($out[0] as $o)                              // ATTENTION tu récupère pas les attribus
	{
	  echo $o;
	}


}
?>

Modifié par JuseN (20 Jun 2012 - 17:41)
on avait pensé de le faire plus tôt d'un coup là chez nous et après télécharger les fichiers corrigés au serveur, on avait pensé à textcrawler plus tôt parce que ce logiciel est bien connu par leurs compétences coté recherche-remplacement des chaines de texte

concernant la possibilité de le faire avec php, où il faut mettre le code du même? dans tous les fichiers concernés? et google, il indexerait les hs statiques ou celles crées dynamiquement?
webprotahiti a écrit :
concernant la possibilité de le faire avec php, où il faut mettre le code du même?

Non, il faut être développeur web, être capable de comprendre le code et de l'adapter à ses besoins, de le corriger s'il contient des bugs, etc.
j'ai reussi le faire avec php:

<html>
<head>
<title><?php $titre = "Titre"; echo $titre; ?></title>
</head>

<h1><?php echo $titre; ?></h1>
<h4><?php echo $titre; ?></h4>
</html>

et pour rester .htm mais au mm temps etant executé comme php j'ai touché
le htaccess:

"AddType application/x-httpd-php .html .htm"