PHP, MYSQL, Javascript, HTML…Just do it!

Copier un objet en php

Filed under: PHP | Tags: clônage, copie, objet, PHP | 20/05/2011

Les objects ( instances des classes ) ne se comportent pas de la même façon que des tableaux ( array ) en PHP.
En effet, si on veut copier un tableau il nous suffit de l’assigner à une variable ( $b dans l’exemple ci-dessous).  On peut modifier par la suite les données de ce nouveau tableau sans affecter les valeurs du tableau copié.

$a = array( 'x' => 5 ) ;
$b = $a ;
$b['x'] = 10 ;
print_r($a);
// affiche
//Array ( [x] => 5 )
print_r($b);
// affiche Array ( [x] => 10 )

Si on fait la même chose avec un objet on obtiens un  résultat inattendu.

Read the rest of this entry »

Construire une expression régulière

Une expression régulière est une chaine composées de caractères standards (mots ou tout simplement des caractères à rechercher) et caractères spéciaux ( méta-caractères ). Une expression régulière est entourée de délimiteurs. N’importe quelle caractère sauf caractères alphanumériques et antislash  peut être être utilisé comme un délimiteur.

Parmi des méta-caractères en PHP en trouve :

Méta-caractère . ( point )
Remplace n’importe quel caractère, hormis le caractère de nouvelle ligne ( rn sur le système OS Windows et n sur le système Linux / Unix ) .

Méta-caractère antislash
Caractère de protection. Par exemple, si on recherche un point dans une chaine et sachant qu’il y a aussi un méta-caractères point qui représente n’importe quel caractère la seule façon de trouver notre point c’est d’utiliser l’antislash. Exemple :

Read the rest of this entry »

Récupérer des liens d’une page web

Filed under: PHP, PHP - Expressions régulières | Tags: , PHP, récupérer des liens | 03/06/2009

Récupération des liens d’une page ( la valeur d’attribut ‘href’ de la balise <a>) n’est pas toujours une tâche facile.
En effet, une page web peut être du type html ou xhtml, des balises peuvent être écrits en minuscule ou majuscule, des attributs des balises peuvent être entourées par les quotes simples ou doubles ou ne pas du tout avoir de quotes.

Voici une expression régulières qui marchera dans tous les cas :
Read the rest of this entry »