begin process at 2012 05 27 19:21:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > MODIFIER LE CONTENU DES BALISES <TITLE>

MODIFIER LE CONTENU DES BALISES <TITLE>


 Information sur la source

Note :
Aucune note
Catégorie :Astuces Classé sous :modifier, balises, title Niveau :Débutant Date de création :12/01/2006 Vu :3 560

Auteur : takai

Ecrire un message privé
Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note

 Description

Voici un petit code qui va permettre de remplacer le titre de vos pages html, tres utile pour le referencement.
  vous devez créer un dossier vide.  

Source

  • <html>
  • <head>
  • <title>mettre a jour le site</title>
  • </head>
  • <body>
  • <form action= "envoyer.php" method="post" >
  • ecran crt <br> <input type="text" size="135" name="ecrancrt" value=
  • "<?
  • $fp = fopen ($votre fichier,"r"); //lecture fichier
  • while (!feof($fp)) //parcours des lignes
  • { $page .= fgets($fp,4096); //lecture contenu ligne
  • }
  • $titre = eregi ("<title>(.*)</title>",$page,$regs); //isole le titre
  • echo $regs[1]; //renvoie toute la chaine
  • fclose($fp);
  • ?>">
  • <input type ="submit" name ="test" value= "envoyer">
  • </form>
  • </body>
  • </html>
  • -----------------------------------------------------------------------------------------------------------------------
  • code de envoyer.php
  • <?php
  • $file="C:\\Program files\\EasyPHP\\www\\Nouveau dossier\\ecran_crt.html";
  • if (is_writable($file))
  • {echo "yes";}
  • else
  • {echo"no";}
  • $fichier = fopen ("$file","r");//lecture fichier a la racine du serveur
  • while (!feof($fichier))//parcours des lignes tant qu'on n'est pas a la fin
  • {
  • $page .= fgets($fichier,4096);//lit le contenu
  • }
  • $newfile = eregi_replace ("<title>(.*)</title>","<title>$ecrancrt</title>",$page);//remplace le titre par la variable
  • fclose($fichier);
  • unlink($file);// metrre un dossier vide sur le serveur
  • copy($file,"C:\\Program files\\EasyPHP\\www\\Nouveau dossier\\vide\\");
  • $fichier = fopen($file,"a");//là j'ai un petit souci
  • fwrite ($fichier, $newfile);
  • fclose($fichier);
  • ?>
<html>
<head>
<title>mettre a jour le site</title>
</head>

<body>
<form action= "envoyer.php" method="post" >
ecran crt <br> <input type="text" size="135" name="ecrancrt" value=
"<?
    $fp = fopen ($votre fichier,"r"); //lecture fichier
	
	    while (!feof($fp))    //parcours des lignes
        { $page .= fgets($fp,4096);     //lecture contenu ligne
	    }
        $titre = eregi ("<title>(.*)</title>",$page,$regs);   //isole le titre
		echo  $regs[1];  //renvoie toute la chaine
     fclose($fp);		
?>">

<input type ="submit" name ="test" value= "envoyer">  
</form>
</body>
</html>
-----------------------------------------------------------------------------------------------------------------------
code de envoyer.php
<?php   
        
        $file="C:\\Program files\\EasyPHP\\www\\Nouveau dossier\\ecran_crt.html";
	    if (is_writable($file))
		    {echo "yes";}
		else
			 {echo"no";}		
        $fichier = fopen ("$file","r");//lecture fichier a la racine du serveur
        
	         while (!feof($fichier))//parcours des lignes tant qu'on n'est pas a	 la fin
	         {
	        $page .= fgets($fichier,4096);//lit le contenu
	         }
	         $newfile = eregi_replace ("<title>(.*)</title>","<title>$ecrancrt</title>",$page);//remplace le titre par la variable
	        
			
     	     fclose($fichier); 
		     unlink($file);// metrre un dossier vide sur le serveur
                       
 copy($file,"C:\\Program files\\EasyPHP\\www\\Nouveau dossier\\vide\\");
 $fichier = fopen($file,"a");//là  j'ai un petit souci
 fwrite ($fichier, $newfile);
 fclose($fichier); 
?>




 Conclusion

Mais bon au final ca marche


 Sources de la même categorie

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000

 Sources en rapport avec celle ci

EQUIVALENT DE INNERHTML JAVASCRIPT, MAIS GLOBAL par 8Tnerolf8
Source avec Zip CLASSE DE COUPAGE DE TEXTE HTML AVEC CONSERVATION DES BALISE... par Bloodscalp
CONVERSION DES CARACTÈRES SPÉCIAUX DANS UNE BASE DE DONNÉES ... par crocblanc
UPLOAD / AJOUT / SUPPRESSION DE FICHIER SUR VOTRE SITE par Tartuffe
FONCTIONS DE MODIFICATION DE DATES par nagrom_om

Commentaires et avis

Commentaire de tcheeb le 12/01/2006 12:10:34

Petite question? pour réflexion constructive et non pas pour critiquer?

Partons du principe que ton site de developpement n'est pas dans un répertoire
nommé EasyPHP, mais EasyPHP1-8 (par pur exemple).

Que la racine de ton site n'est pas www, mais dev_www. (http.conf).
Ne serait-il pas plus judicieux d'utiliser $_SERVER['document_root'] en place de ""...C:\\Program files\\EasyPHP\\www\\...". (vive le php language dynamique)

De plus du écrit : "...fopen("$file","r");//..." connais-tu la concaténation des variables.

;-))

A propos ta variable "...$votre_fichier..." elle vient d'où ? d' un post en method get ?  alors privilégie $_GET['votre_fichier'];

PS: une solution avec dans ta problématique un fichier txt ou une solution avec un db, me semble plus appropriée. tu as 200 fichiers, tu vas poster un max pour mettre à jour ton site.

Commentaire de juki_webmaster le 12/01/2006 14:39:33

De toute maniere comme c'est presenter le remplacement est mauvais!
Il faut parser le code HTML pour cela, gerer si l'ont ce trouve dans: une balise, une valeur d'une option de balise, un commentaire multi-ligne.. et que apres ont peux reelement extraire les balises <title></title>.
Avant cela ont aura forcer tout le document en minuscule bien evidemment...
Je sais car j'avais coder un code similaire en C.

Commentaire de Anthomicro le 12/01/2006 18:05:21

Voilà d'où provient le code qu'il a pompé :

http://www.commentcamarche.net/php/phpreg.php3

Franchement pomper un code pour proposer une source c'est vraiment la dernière chose à faire car d'une tu ne le mentionnes pas de deux le code est mauvais :-(

a +

Commentaire de tcheeb le 12/01/2006 18:15:25

Merci pour la précision Anthomicro,

J'avais trouvé ce bout de code répliqué sur d'autre sites. Mais je ne voulais le préciser, égard au commenaire sur sa fiche membre (takai).

mdr ;-))





Commentaire de JulioDelphi le 12/01/2006 18:30:08 administrateur CS

Merci à l'auteur de lire les conditions d'utilisation de ses copiés/collés:
"Ce document intitulé «PHP - Expressions régulières» issu de Comment Ça Marche est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
http://www.commentcamarche.net/ccmguide/ccmlicence.php3"
=)

Commentaire de Anthomicro le 12/01/2006 20:05:08

En même temps ce code est mal codé, je pense qu'il a voulu faire un signe à l'auteur en ne le citant pas ^^ (ok je sors)

Commentaire de Loubiou le 13/01/2006 06:31:45

Ok très bonne idée même si ça vient d'ailleur.
Soyons constructif, ce serait bien de pouvoir créer à la volée des pages html contenant un titre, une description, un balise keywords et une redirection sur la page d'entrée du site.
Je pense que là on aura un bon programme très utile pour le positionnement car il me semble que le grand google utilise les noms de pages plutot qu'autre chose comme le titre de la page.

En  voilà une idée qu'elle est bonne non ? arff

Commentaire de takai le 13/01/2006 10:32:41

bon ca va,
  j'ai pensé que ca pouvait etre interressant d'envoyer ce code qu'on m'a demandé pour aider au référencement d'un site statique.Si j'avais su que ca déchainerait tant de critique...
c'est vrai que j'ai cherché un peu partout pour trouver la solution, mais bon moi j'en suis content d'autant plus que j'ai commencé php en décembre et que ca marche.Merci de ton aide anthomicro sur ton site
génial codephpnet. et puis voila.c'est vrai que vous devez pouvoir faire mieux, c'est aussi vrai que vous devez etre des pros, et c'est aussi vrai que j'ai plus tellement envie de participer aux forums php meme si je trouvais l'idée sympa donc salut a tous, amusez-vous bien !    

Commentaire de ImmortalPC le 13/01/2006 11:03:35

Salut,
C' est pas propre du tout :@
C' est lent !!
Les normmes XHTML ???

Voici le code remanié :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>mettre a jour le site</title>

</head>
<body>

<form method="post" action="envoyer.php" enctype="application/x-www-form-urlencoded">
ecran crt <br /> <input type="text" size="135" name="ecrancrt" value="<?php
$fichier = './Header.php';
$file = file($fichier);
while(list($num_line, $line) = each($file)){
    if(eregi('<title>(.*)</title>', $line, $regs)){ //isole le titre
        echo $regs[1]; //renvoie toute la chaine
        break;
    }
}
?>" />

<input type="submit" name="test" value="envoyer" />
</form>
</body></html>

-----------------------------------------------------------------------------------------------------------------------

code de envoyer.php
<?php
$file='./Header.php';
if(is_writable($file)){
    echo 'yes';
}else{
    echo 'no';
}

$open_file = file($file);
$open_file = implode('', $open_file);
$open_file = eregi_replace ('<title>(.*)</title>', '<title>'.$_POST['ecrancrt'].'</title>', $open_file);//remplace le titre par la variable

unlink($file);// metrre un dossier vide sur le serveur

//copy($file, './Nouveau dossier/vide/');
$fichier = fopen($file, 'w+');//là j'ai un petit souci
fputs($fichier, $open_file);
fclose($fichier);
?>

@+

Commentaire de Anthomicro le 13/01/2006 16:26:36

ImmortalPC : manque des <p> dans le formulaire c'est pas valide sinon ^^

Commentaire de coucou747 le 14/01/2006 10:41:12 administrateur CS

un copitage ???

c'est moche comme code, alors le copier n'est vraiment pas malin...

Commentaire de Anthomicro le 14/01/2006 12:17:32

Le meilleur c'est qu'il est venu chialer sur mon site pour ne plus en faire partie (mdr). Tu vois l'esprit quoi ^^

Commentaire de ImmortalPC le 14/01/2006 13:06:14

Salut,
Anthomicro : "manque des <p> dans le formulaire c'est pas valide sinon ^^"
il n' y a pas besoin de <p></p> pour que ce soit valide xhtml 1.0
J' ai passé le code au validateur xhtml de w3c : http://validator.w3.org/
This Page Is Valid XHTML 1.0 Transitional!
@+

Commentaire de Anthomicro le 14/01/2006 15:00:16

c'est pas valide xhtml strict ;-)

Commentaire de coucou747 le 14/01/2006 18:14:50 administrateur CS

si encore le code était beau et qu'il donnait la source...

Commentaire de ImmortalPC le 14/01/2006 18:23:11

Re,
désolé mais le dtd utilisé ici est : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
J' ai pas cherché à faire du XHTML strict mais Transitional !!!!
J' aurais pu faire du xhtml 1.1 Strict mais quand on voit le code ça vaux pas le coup :-(
@+

Commentaire de Anthomicro le 14/01/2006 18:27:53

ah bon d'accord t'as pas fait de strict, ouais autant ne pas s'embêter de toute façon...

Commentaire de viking_force le 17/01/2006 12:14:31

des <p> dans un formulaire ça sent toujours mauvais :-)

d'où tu tiens qu'il faille mettre des <p> dans un formulaire pour le rendre valide??
vont te servir a quoi ces paragraphes ???

Et la balise <label> elle sert a quoi alors ??



PS: Moi je dis merci a takai qui pense aux feignasses qui ne cherche pas sur le net en leur mettant les exemples des autres sites :o) (bon j'arrête mes blague ok)

Commentaire de Anthomicro le 17/01/2006 13:52:09

viking_force > label c'est complètement différent, je ne sais pas d'où il faut en mettre, mais en tout cas c'est pas valide sans. (j'ai pas essayé avec un div m'enfin de toute façon c'est crade je suis d'accord mais c'est comme ça...)

Commentaire de WhiteDwarf le 19/01/2006 18:55:04

TCHEEB -> pourrais tu m'expliquer pourquoi il est mieux de privilégier $_GET['votre_fichier'] par rapport à $votre_fichier ? J'applique le $_GET[] suite à ce que j'ai lu sur ce site mais la je me demande subitement pourquoi... j'aime comprendre ce que je fais :p

Commentaire de WhiteDwarf le 19/01/2006 19:07:10

dsl pour le flood :D mais après avoir lus les post et surtout ceux sur la provenance de cette source, j'ai envie de dire que partager le code et les bonnes idées comme celles ci (bien que pas très compliqué et pas réellement novateur) est une bonne chose.

C'est justement la quantitée d'informations présentes sur ce site qui en fais sa richesse et qui à permis à beaucoup de monde d'évoluer dans le php assez rapidement (dont moi). Par contre c'est vrai que Takai aurait du citer sa source par respect pour son auteur. D'autre part siter des sources provenant d'autres sites permet aussi de découvrir de nouveaux site.

Très bon site pour la recherche de sources : www.google.fr ;)
Bon ok j'arrête... Bonne dev et @+

Commentaire de Anthomicro le 19/01/2006 19:21:15

"ourrais tu m'expliquer pourquoi il est mieux de privilégier $_GET['votre_fichier'] par rapport à $votre_fichier ?"

vas dans ton php.ini, mets le register_globals à off et hop ça fonctionne plus sans le $_GET

ensuite l'avantage de ce type de méthode est que tu sais d'où proviennent tes variables, elles ne peuvent être écrasées par d'autres.

Mettons que tu prennes dans ton code echo $variable;

si le mec met dans l'url variable=blabla bah ton code va l'afficher (si tu n'as pas défini ta variable au début de ton script).

Commentaire de tcheeb le 19/01/2006 20:40:22

Bonjour,
Merci Antho,

Réflexion complémentaire pour WhiteDwarf  :
ton logeur à mis le register_globals à off, comme grand nombre depuis 4.2.0.
Tu monte ton code, te voilà bon pour corriger toutes tes pages si tu n'as pas respecté un minimum de syntax dont les variables globales.
Essaye de ne pas déclarer tes variables en (excusez moi pour la citation sur ce site mais...)  ASP (vraiment excusez moi).

Deuxième réflexion:
ton code attend en post une variable, "expl: $code = $_POST['code']", si tu l'envoie par la method get, le fait d'avoir utilisé les variables globales, sécurité "minimum" la variable ne sera pas acceptée(prise en considération). En revanche code = $code, le script prendra la 1ère variable $code qui lui passe sous le code(main).
En dehors de failles possible, ou utilisation de ton formulaire, je te laisse faire le débog sur un script de 500 lignes utilisant des variables de sessions, cookies, post, get.

Voilà simplement pourquoi utiliser les varibles globales, c'est plus propre et plus sûr.

Pour conclure un peu de lecture : http://www.phpdebutant.org/article113.php

A++

Commentaire de Anthomicro le 19/01/2006 21:04:41

"Essaye de ne pas déclarer tes variables en (excusez moi pour la citation sur ce site mais...)  ASP (vraiment excusez moi)."

Y'a pas de mal, tout le monde sait que l'ASP c'est lent et crade (quoi il est où le troll ?)

"Pour conclure un peu de lecture : http://www.phpdebutant.org/article113.php"

Merde, ton commentaire était bon jusque là lol

Commentaire de tcheeb le 19/01/2006 21:26:09

Cet article m'a permis de "percuter" les variables globales, mais je t'accorde que

http://php.benscom.com/manual/fr/security.globals.php
ou
http://ch2.php.net/variables.predefined
ou encore
http://www.vulgarisation-informatique.com/variables-constantes.php ;-))


 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

recuperer valeur [ par Xime ] salut :)j'affiche une liste d'enregistrements dans un tableau avec tout a gauche 2 liens :un pour modifier et l'autre pour supprimer la lignevoila lor Expressions régulieres [ par Nini ] Trouvez l'expression régulière (Syntaxe basée sur le PHP) et entrez la ci-dessous (en suivant l'exemple).Cette regex doit extraire le texte et le cont DSIGN ET MAJ [ par vbtom ] Salut,Ca fait un moment que je fai de l'ASP et fait du pHP depuis quelques mois deja mais je n'ai jamais fait de gros sites pro, et la je commence et Comment modifier des XML avec PHP??? [ par guiout ] Salut à tous,voilà mon pb, je voudrais traiter des XML existantes.Par traiter j'entends modifier le contenu textuel entre certaines balises.J'utilise Pb boucle .. [ par Joez ] Bonjour, voila j'ai un fichier XML contenant des info avec des balises &lt;notice&gt;, et je voudrais remplacer ses balises &lt;notices&gt; par &lt;n Enregistrement avec tableau?? [ par rich25200 ] bonjour,j'ai un tableau qui est alimenter par une requete SQL.... et en face de chaque enregistrement j'ai deux boutons un modifier et l'autre supprim Impossible d'ajouter ou modifier une source [ par Houzefa ] Ben voilà chaque fois que j'veux ajouter ou modifier une source ya une erreur du coté du serveur...Houzéf@ - www.123toto.com Modifier un fichier OU SUGGESTIONS [ par DeepXtaZy ] Bonjour,Je suis en stage et je voudrais faire une page pour que mon patron puisse diffuser facilement et meme tres facilement des notes de service.Je Modifier un fichier OU SUGGESTIONS [ par DeepXtaZy ] Bonjour,Je suis en stage et je voudrais faire une page pour que mon patron puisse diffuser facilement et meme tres facilement des notes de service.Je Modifier une ligne d'un fichier [ par twiems ] Twiems:PEn effet je souhaite modifier la dernière d'un fichier html (pareil que fichier txt) mais malheuresement je n'y arrive pas.Ainsi je voudrais q


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales