www.philatelistes.net - PHP 4: 5 astuces utiles pour manipuler du code HTML
Club Philatélique de Sarcelles et Environs
COLLECTIONNEURS NE RESTEZ PAS SEUL ! NOUS AVONS LA MEME PASSION

Notre association vous permet de partager avec d'autres ce loisir culturel et est a la disposition de tous (jeunes et adultes) débutants ou expérimentés. Amis philatélistes et collectionneurs de Sarcelles et de la Communauté Roissy Pays de France, de St Brice sous Foret et de la Communauté Plaine Vallée et des environs, ne restez plus isoles. Nos réunions sont gratuites et ouvertes a tous les collectionneurs - vous pourrez faire des échanges et des recherches: timbres, entiers postaux, télécartes, cartes postales...



En adhérant a notre association, nous vous proposons un certain nombre de services: consultation et prêt des catalogues, service des nouveautés, réduction importante sur l'achat de matériel, un tarif préférentiel club pour les abonnements aux revues philatéliques : Timbres Magazine, l'Echo de la Timbrologie, Atout Timbres... Notre association est affiliée à la Fédération Française des Associations Philatéliques (FFAP) et au Groupement des Associations Philatéliques de Paris - Ile de France (GAPHIL). Notre site internet http://clubphilateliquesarcellesetenvirons.com 
vous permettra de mieux connaitre nos activités, il présente également quelques souvenirs édités à l'occasion de telle ou telle manifestation. 

Nous éditons un bulletin ou chacun peut faire paraitre des annonces pour des recherches, des échanges. 

Nous organisons chaque année un Salon des Collectionneurs à Sarcelles à la Salle André Malraux le dernier samedi de janvier.



Réunions mensuelles au Club Honoré PONS Carrefour BULLIER

www.philatelistes.net

Rechercher Membres Contacts Aide
Modération off     Accueil | Actualité | Annonces | Forum | Philamômes | Histoire postale | Merson | Liens

Actualité
Actualité

Evénements

Revue de presse
Le forum
Les sondages

Vendre, Acheter, Echanger
Les adresses
Ventes sur offres ou à prix nets
Petites annonces

PHP 4: 5 astuces utiles pour manipuler du code HTML


Introduction
Astuces PHP et MySQL
Les images
Caractères ASCII
Couleurs du Web
Le e-mail
Aspects légaux
Javascript

1) Placer le contenu d'un fichier HTML dans une chaîne
On utilise pour cela les fonctions file() et join(). La première place le contenu d'un fichier dans un tableau, la seconde joint toutes les entrées de ce tableau.

Exemple:

$fichier="http://developpeurs.journaldunet.com";

$contenu=join("",file($fichier));

Le "liant" des différentes entrées entre elles est spécifié en premier argument de la fonction join(). Ici, on utilise une chaîne vide.

2) Isoler un contenu situé entre deux balises HTML de commentaire
Il peut s'agir, par exemple, de placer dans une base de données divers éléments d'une page HTML, repérés par des balises de commentaires.
On utilise alors l'expression régulière suivante:

<!--[nom de la balise de début]-->(.*)<--[nom de la balise de fin]-->>


pour récupérer le contenu en question.
Le caractère . (point) désigne n'importe quel caractère (sauf le caractère de fin de ligne), tandis que le caractère * (multiplié par) signifie que ce qui précède (en l'occurence, un caractère, quel qui soit sauf le caractère de fin de ligne) peut apparaître zéro, une, ou un nombre quelconque de fois. Les parenthèses, enfin, servent à isoler le contenu figurant entre les balises définies, afin de le récupérer facilement par la suite.

Exemple:

$texte="<!--debut du titre de l'article-->Utiliser des <b>regexp</b> <i>via</i> PHP<!--fin du titre de l'article-->";
eregi("<!--debut du titre de l'article-->(.*)<!--fin du titre de l'article-->", $texte, $regs);
$titre=$regs[1];

La fonction PHP utilisée ici est eregi(), permettant d'appliquer à une chaîne (deuxième argument) une expression régulière (premier argument) indépendante de la casse (c'est le sens du i de eregi), et de récupérer le résultat dans le tableau $regs.

3) Supprimer sélectivement certaines balises
Une fonction PHP, strip_tags(), nous rend ce service, et se montre particulièrement puissante puisqu'elle permet de sélectionner les balises que l'on ne veut pas supprimer.

Exemple:

$texte="<span class=\"titre\">Utiliser des <b>regexp</b> <i>via</i> PHP</span>";
$texte=strip_tags($texte,"<b><i>");

la balise <span> sera supprimée, mais ni la balise <b>, ni la balise <i> (notez la syntaxe du second argument de la fonction).

4) Gérer les caractères spéciaux HTML
Il s'agit des caractères comme &eacute; (é), &agrave; (à), &amp; (&), etc. Là encore, une fonction PHP nous permet de remplacer tous les caractères dont il existe une "entité" équivalente en HTML en cette entité.

Exemple 1:

$texte="gérer les caractères";
echo htmlentities($texte);

Exemple 2: faire l'inverse

function unhtmlentities($string){
   $trans_tbl = get_html_translation_table(HTML_ENTITIES);
   $trans_tbl = array_flip($trans_tbl);
   return strtr($string, $trans_tbl);
}

Le deuxième example récupère les données de conversion caractère-entité du HTML sous forme de tableau associatif dont les clés sont les caractères et les valeurs les entités. En "renversant" l'association (les clés deviennent valeurs et vice-versa), on peut appliquer à une chaîne la fonction strtr() qui traduit, dans une chaîne, une série de sous-ensembles par une série d'autres, les paires étant spécifiées par un tableau associatif.

5) Insérer du texte sans erreur dans une base MySQL
Le problème se pose lorsque le texte qui doit être inséré via PHP dans une base MySQL comprend des caractères comme " (double quote) ou ' (simple quote). Dans ce cas, une fonction "clé en main" existe pour "préparer" le texte à l'insertion: il s'agit de mysql_escape_string(), qui s'applique à la chaîne concernée.

Exemple:

$texte="Moins d'erreurs avec PHP";
$connect=mysql_connect("serveur","identifiant","motdepasse");
mysql_select_db("table",$connect);
$requete_sql="INSERT INTO matable (texte) VALUES ('".mysql_escape_string($texte)."')";
mysql_query($requete_sql,$connect);
mysql_close($connect);


On évite ainsi l'échec de l'insertion dans la base, causée par une requête qui prend la forme suivante:

INSERT INTO matable (texte) VALUES 'Moins d'erreur avec PHP

[Jérôme Morlon (JDN), 23 mai 2002 , JDNet]



Imprimer cette page  | Recommander cette page à un ami


Toussaint COPPOLANI
Toussaint COPPOLANI

Copyright © 2000 www.philatelistes.net
Credits, Critiques