Kodeya

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

Copier un objet en php

Filed under: PHP | Tags: clônage, copie, objet, | 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 »

Convertir base de données en UTF-8 sur Windows

Filed under: MYSQL | Tags: base de données, convertir base de données en utf8, mysql | 04/05/2011

Voici une démarche à suivre pour convertir votre base de données non UTF-8 ( dans mon cas la BDD est en latin1_general_ci pour l’encodage du site ISO-8859-1)  en UTF-8. J’ai essayé plusieurs  solutions mais celle là est la plus simple est efficace.

OS : Windows,
Base de données: MySQL

1. Exporter la base de données (faire un dump)

Exportez la structure et les données de votre BDD avec PhpMyAdmin dans un fichier.

Pour les fans de ligne de commande :

mysqldump -u {$user} -p -B {$nom_de_la_bdd}  –skip-set-charset -n > db.dump.sql

2. Ouvrir le fichier dump avec Notepad++
3. Encoder le fichier en UTF8: Menu > Encodage > Encoder en UTF8
4. Convertir le fichier en UTF-8: Menu > Encodage > Convertir en UTF8
5. Si vous avez utilisé la commande mysqldump supprimez la ligne « USE `$nom_de_la_bdd`; » . Nous allons préciser le nom de la base de données plus tard.
6. Recherchez et Remplacez latin1 par utf8
7. Enregistrez le fichier dump modifié.

8. Importez le fichier dump dans une nouvelle base de donnée soit par PhpMyAdmin ( onglet « Importer ») soit en ligne de commande.

mysql –default-character-set=utf8 -u {$user} -p -B {$nom_de_la_bdd_utf8} < db.dump.sql

C’est fait.

Une expression régulière qu’est-ce que c’est?

Les expressions régulières , ou expressions rationnelles sont des chaines composées de caractères ASCII. Une expression rationnelle est un masque, qu’on peux appeler aussi modèle ou motif, utilisé pour effectuer une recherche dans une chaine de caractère des portions correspondants au masque. Un exemple très simple de ce qui est un masque : expression régulière qui serait « kodeya.com est un super site », pourra correspondre à une partie de la chaîne comme « www.kodeya.com est un super site sur le développement ».

A quoi ça sert une expression régulière ?

Des expressions rationnelles permettent la recherche des parties de la chaine sujet correspondantes au masque pour les remplacer ou les extraire de la chaine sujet. Vous pouvez ainsi facilement filtrer le contenu des formulaires soumis en recherchant, par exemple, des balises html ( frame, script, flash, etc… ), vérifier si les données sont en bon format.

Fonctions PHP

PHP fournit deux types de fonctions qui permettent de travailler avec des chaines à l’aide d’expressions régulières : POSIX et PCRE. Les fonctions PCRE sont compatible PERL ( langage de programmation) et commencent par le préfixe « preg_ » . Ces fonctions sont plus puissantes en terme de rapidité et puissance de traitement.

Read the rest of this entry »

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 »

echo « Hello world! »

Filed under: Notes | Tags: | 14/02/2009

Salut… Je suis comme cette chaussure qui est mal chaussée : pas le temps de m’occuper de mon propre site.

Je n’ai q’une chose à dire : en cours de construction.