PHP et SimpleXML

MacBook avec code sur un bureau

Lorsque l’on veut traiter un fichier XML en PHP, il y a deux possibilités: soit l’on utilise SimpleXML, soit on passe par DOMDocument. Dans cet article je traiterai plus spécifiquement de SimpleXML. Pour charger un fichier, il suffit d’utiliser la méthode simplexml_load_file $xml = simplexml_load_file($file); En faisant ainsi, vous récupérez un SimpleXMLElement. Si le XML … Lire la suite

PHP – Comment charger un fichier en PHP depuis un formulaire

MacBook avec code sur un bureau

Pour savoir comment charger un fichier en PHP depuis un formulaire, il faut commencer par formater correctement le formulaire. Il est obligatoire d’utiliser la méthode post ainsi que l’enctype multipart/form-data, sinon PHP ne recevra pas les données nécessaires. En PHP, pour récupérer les données, il faut utiliser $_FILES. print_r($_FILES); en faisant cela, on récupère différentes … Lire la suite

PHP – Comment trouver l’origine de l’appel sur une fonction PHP

MacBook avec code sur un bureau

Il peut arriver qu’une fonction ne soit appelable que depuis une interface (console, apache…). Il existe une fonction qui retourne exactement ce que nous cherchons. Dans l’exemple suivant, nous cherchons à savoir si l’appel vient bien de la console. if (php_sapi_name()!= »cli ») { header(« Location: http://www.sadtrombone.com/ »); die(); }

WordPress – Comment ajouter ou supprimer un bouton TinyMCE

MacBook avec code sur un bureau

Par défaut sur WordPress nous avons TinyMCE et bien que ce plugin soit très puissant, il y a beaucoup trop de boutons. Heureusement avec quelques lignes de code, il est possible de le configurer. Dans le fichier functions.php de votre thème ou dans votre plugin, utiliser le hook de la manière suivante: function configure_mce( $init … Lire la suite

WordPress – Comment récupérer l’ID d’une meta donnée

MacBook avec code sur un bureau

Avec WordPress, il est commun d’utiliser la méthode get_post_meta($post, $meta_key) afin de récupérer la valeur d’une méta donnée. En revanche pour l’ID, il n’y a pas de méthode toute faite. La meilleure solution que j’ai trouvée pour le moment: $mid = $wpdb->get_var( $wpdb->prepare(« SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s », $post, … Lire la suite

PHP – Protection des caractères spéciaux des expressions regulière

MacBook avec code sur un bureau

Si l’on veut utiliser une expression régulière pour par exemple rechercher un mot dans un paragraphe, il est important de protéger sa variable. Pour ce faire, il suffit d’utiliser la fonction suivante: string preg_quote ( string $str [, string $delimiter = NULL ] ) Par exemple: foreach ($aRequest[‘keywords’] as $sKeyword) { $sKeyword = preg_quote($sKeyword); $pattern … Lire la suite

WordPress – Sauvegarder les catégories parentes d’une catégorie choisie

MacBook avec code sur un bureau

Il peut arriver que lorsque vous sauvegardez votre post, vous vouliez que celui-ci ne soit pas uniquement considéré dans la catégorie choisie mais aussi dans la catégorie parente de celle-ci. Par exemple, vous avez les catégories suivantes: – Auto – – BMW – – Audi En sélectionnant Audi vous voulez aussi automatiquement avoir la catégorie … Lire la suite

PHP – mb_strlen pour retrouver la taille d’une chaîne de caractère et non strlen

MacBook avec code sur un bureau

Beaucoup de code utilise strlen pour récupérer la taille d’une chaîne de caractères. Le problème : strlen retourne le nombre d’octets, pas le nombre de caractères. Dès qu’une chaîne contient des lettres accentuées ou des emojis, le résultat est faux. Le problème avec strlen En UTF-8, un caractère comme « é » occupe deux octets. … Lire la suite

PHP – Remplacer les accents par leurs équivalents non accentués

MacBook avec code sur un bureau

Une petite fonction pour remplacer les caractères accentués par leur équivalent sans accent. function normalize_str($str) { $invalid = array(‘Š’=>’S’, ‘š’=>’s’, ‘Đ’=>’Dj’, ‘đ’=>’dj’, ‘Ž’=>’Z’, ‘ž’=>’z’, ‘Č’=>’C’, ‘č’=>’c’, ‘Ć’=>’C’, ‘ć’=>’c’, ‘À’=>’A’, ‘Á’=>’A’, ‘Â’=>’A’, ‘Ã’=>’A’, ‘Ä’=>’AE’, ‘Å’=>’A’, ‘Æ’=>’A’, ‘Ç’=>’C’, ‘È’=>’E’, ‘É’=>’E’, ‘Ê’=>’E’, ‘Ë’=>’E’, ‘Ì’=>’I’, ‘Í’=>’I’, ‘Î’=>’I’, ‘Ï’=>’I’, ‘Ñ’=>’N’, ‘Ò’=>’O’, ‘Ó’=>’O’, ‘Ô’=>’O’, ‘Õ’=>’O’, ‘Ö’=>’OE’, ‘Ø’=>’O’, ‘Ù’=>’U’, ‘Ú’=>’U’, ‘Û’=>’U’, ‘Ü’=>’UE’, … Lire la suite