Je souhaite obtenir des informations sur une formation complète concernant le thème DIVI dispensé
par un organisme de formation certifié par l’état.
Que la formation soit finançable par mon CPF (idéalement) ou autre


Les expressions régulières sont un outil très utile pour les développeurs. Ils permettent de rechercher, d’identifier ou de remplacer un mot, un caractère ou toute chaîne de caractères. Dans ce didacticiel, vous apprendrez à maîtriser les expressions rationnelles PHP et à vous montrer des expressions régulières PHP extrêmement utiles et prêtes à l’emploi que chaque développeur Web devrait avoir dans sa boîte à outils.

Commencez avec les expressions régulières

Pour de nombreux débutants, les expressions régulières semblent difficiles à apprendre et à utiliser. En fait, ils sont beaucoup moins difficiles que vous ne le pensez. Avant de plonger profondément dans les expressions régulières avec du code utile et réutilisable, couvrons brièvement les bases des modèles d’expression régulière PCRE:

Syntaxe des expressions régulières

Une expression régulière (Regex ou Regexp pour faire court) est une chaîne de texte spéciale utilisée pour décrire un modèle de recherche. Un modèle d’expression régulière correspond à une chaîne cible. Le tableau suivant décrit les expressions régulières les plus courantes:

Expression régulière Correspondra …
toto La chaîne « foo »
^ toto « Foo » au début d’une chaîne
toto $ « Foo » à la fin d’une chaîne
^ toto $ « Foo » quand il est seul sur une chaîne
[abc] a, b ou c
[a-z] Toutes les lettres minuscules
[^A-Z] Tout caractère qui n’est pas une majuscule
(gif | jpg) Correspond à « gif » ou « jpg »
[a-z]+ Une ou plusieurs lettres minuscules
[0-9.-] N’importe quel nombre, point ou signe moins
^[a-zA-Z0-9_]{1,} $ Tout mot composé d’au moins une lettre, un chiffre ou _
(([wx]) ([yz]) wy, wz, xy ou xz
[^A-Za-z0-9] Tout symbole (pas un chiffre ou une lettre)
(([A-Z]{3} |[0-9]{4}) Correspond à trois lettres ou quatre chiffres

Fonctions d’expression régulière PHP

PHP a de nombreuses fonctions utiles pour travailler avec des expressions régulières. Voici une feuille de triche rapide des fonctions les plus importantes de regex PHP. N’oubliez pas qu’ils sont tous sensibles à la casse.

Pour plus d’informations sur les fonctions d’expressions régulières PHP natives, consultez Manuel.

une fonction la description
preg_match () le preg_match() La fonction recherche dans la chaîne un modèle et renvoie true s’il existe un modèle; false dans le cas contraire.
preg_match_all () le preg_match_all() La fonction correspond à toutes les occurrences de modèles dans les chaînes. Utile pour trouver et remplacer.
preg_replace () le preg_replace() La fonction fonctionne de la même manière que ereg_replace()sauf que les expressions régulières peuvent être utilisées dans les paramètres d’entrée pour le modèle et la substitution.
preg_split () Preg Split (COM)preg_split()) fonctionne exactement comme ça split() Fonction sauf que les expressions régulières sont acceptées comme paramètres d’entrée.
preg_grep () le preg_grep() La fonction recherche tous les éléments de input_arrayet renvoie tous les éléments qui correspondent au modèle d’expression régulière dans une chaîne.
preg_ quote () Citer des caractères avec des expressions régulières

Vérifier un nom de domaine

Respectez la casse pour vérifier qu’une chaîne est un nom de domaine valide. Ceci est très utile pour la validation Formulaires Web.

$url = "http://komunitasweb.com/";
if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) {
    echo "Your url is ok.";
} else {
    echo "Wrong url.";
}

» la source

Illuminez un mot à partir d’un texte

Cette expression régulière très utile trouve un mot spécifique dans une chaîne et l’illumine. Très utile pour les résultats de recherche. N’oubliez pas qu’il est sensible à la casse.

$text = "Sample sentence... regex has become popular in web programming. Now we learn regex. According to wikipedia, Regular expressions (abbreviated as regex or regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor";
echo preg_replace("/b(regex)b/i", '<span style="background:#5fc9f6">1</span>', $text);

» la source

Éclairez les résultats de recherche sur votre blog WordPress

L’extrait de code précédent peut être très pratique pour afficher les résultats de la recherche. Si votre site Web est alimenté par WordPress, voici un extrait de code plus spécifique qui vous permet de trouver du texte dans une balise HTML et de le remplacer par le même texte que vous pourrez mettre en forme ultérieurement à l’aide de CSS.

Ouvrez votre search.php Classer et trouver le the_title() Une fonction. Remplacez-le par ce qui suit:

echo $title;

Maintenant, ajoutez ce code juste avant la ligne modifiée:

<?php
	$title 	= get_the_title();
	$keys= explode(" ",$s);
	$title 	= preg_replace('/('.implode('|', $keys) .')/iu',
		'<strong class="search-excerpt"></strong>',
		$title);
?>

Sauver la search.php Classer et ouvrir style.css. Ajoutez la ligne suivante:

strong.search-excerpt { background: yellow; }

» la source

Obtenez toutes les images d’un document HTML

Si vous avez toujours voulu pouvoir obtenir toutes les images d’une page Web, ce code est indispensable pour vous. Vous devriez être en mesure de créer facilement un téléchargeur d’images avec la puissance de boucle.

$images = array();
preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media);
unset($data);
$data=preg_replace('/(img|src)("|'|="|=")(.*)/i","$3",$media[0]);
foreach($data as $url)
{
	$info = pathinfo($url);
	if (isset($info['extension']))
	{
		if (($info['extension'] == 'jpg') ||
		($info['extension'] == 'jpeg') ||
		($info['extension'] == 'gif') ||
		($info['extension'] == 'png'))
		array_push($images, $url);
	}
}

» la source

Supprimer les mots répétés (insensible à la casse)

Répétez souvent des mots en tapant? Cette expression rationnelle PCRE pratique et insensible à la casse est très utile.

$text = preg_replace("/s(w+s)1/i", "$1", $text);

» la source

Supprimer la ponctuation répétée

Même expression régulière PHP que ci-dessus, mais cela recherche la ponctuation répétée dans une chaîne. Adieu les virgules!

$text = preg_replace("/.+/i", ".", $text); 

» la source

Attribuer une balise XML / HTML

Cette fonction simple prend deux arguments: le premier est la balise que vous voulez faire correspondre, et le second est la variable qui contient XML ou HTML. Encore une fois, cela peut être très puissant avec boucle.

function get_tag( $tag, $xml ) {
  $tag = preg_quote($tag);
  preg_match_all('{<'.$tag.'[^>]*>(.*?)</'.$tag.'>.'}',
                   $xml,
                   $matches,
                   PREG_PATTERN_ORDER);

  return $matches[1];
}

Associer une balise HTML / XML à une valeur d’attribut spécifique

Cette fonctionnalité est très similaire à la précédente, mais elle vous permet de faire correspondre une balise avec un attribut spécifique. Par exemple, vous pouvez facilement faire correspondre <div id="header">.

function get_tag( $attr, $value, $xml, $tag=null ) {
  if( is_null($tag) )
    $tag = 'w+';
  else
    $tag = preg_quote($tag);

  $attr = preg_quote($attr);
  $value = preg_quote($value);

  $tag_regex = "/<(".$tag.")[^>]*$attrs*=s*".
                "(['"])$value\2[^>]*>(.*?)</\1>/"

  preg_match_all($tag_regex,
                 $xml,
                 $matches,
                 PREG_PATTERN_ORDER);

  return $matches[3];
}

Ajuster les valeurs de couleur hexadécimales

Un autre outil intéressant pour les développeurs Web! Avec cela, vous pouvez comparer / valider une valeur de couleur hexadécimale.

$string = "#555555";
if (preg_match('/^#(?:(?:[a-fd]{3}){1,2})$/i', $string)) { 
echo "example 6 successful.";
} 

Rechercher le titre de la page

Cet extrait de code pratique trouve et imprime le texte dans le <title> et </title> Balises d’une page HTML.

$fp = fopen("https://catswhocode.com/blog","r"); 
while (!feof($fp) ){
    $page .= fgets($fp, 4096);
}

$titre = eregi("<title>(.*)</title>",$page,$regs); 
echo $regs[1];
fclose($fp);

Analyser les journaux Apache

La plupart des sites Web fonctionnent sur le serveur Web Apache. Si tel est le cas sur votre site Web, vous pouvez facilement utiliser PHP et des expressions régulières pour analyser les journaux Apache.

//Logs: Apache web server
//Successful hits to HTML files only.  Useful for counting the number of page views.
'^((?#client IP or domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)/[^ ?"]+?.html?)??((?#parameters)[^ ?"]+)? HTTP/[0-9.]+"s+(?#status code)200s+((?#bytes transferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent)[^"]*)"$'

//Logs: Apache web server
//404 errors only
'^((?#client IP or domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)[^ ?"]+)??((?#parameters)[^ ?"]+)? HTTP/[0-9.]+"s+(?#status code)404s+((?#bytes transferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent)[^"]*)"$'

» la source

Remplacer les guillemets doubles par des guillemets intelligents

Si vous êtes un amateur de typographie, vous aimerez probablement ce modèle d’expression régulière qui vous permet de remplacer les guillemets doubles par des guillemets intelligents. Une expression régulière similaire est utilisée par WordPress pour rendre le contenu plus beau.

preg_replace('B"b([^"x84x93x94rn]+)b"B', '?1?', $text);

» la source

Vérifiez la complexité du mot de passe

Cette expression régulière vérifie si l’entrée se compose de 6 lettres, chiffres, traits de soulignement et traits d’union ou plus.
L’entrée doit contenir au moins une lettre majuscule, une lettre minuscule et un chiffre.

'A(?=[-_a-zA-Z0-9]*?[A-Z])(?=[-_a-zA-Z0-9]*?[a-z])(?=[-_a-zA-Z0-9]*?[0-9])[-_a-zA-Z0-9]{6,}z'

» la source

WordPress: Utiliser Regexp pour récupérer des images à partir d’un article

Puisque je sais que beaucoup d’entre vous sont des utilisateurs de WordPress, vous aimerez probablement ce code qui vous permettra d’obtenir et d’afficher toutes les images du contenu de l’article.

Pour utiliser ce code sur votre blog, collez simplement le code suivant dans l’un de vos fichiers de rubrique.

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<?php
$szPostContent = $post->post_content;
$szSearchPattern = '~<img [^>]* />~';

// Run preg_match_all to grab all the images and save the results in $aPics
preg_match_all( $szSearchPattern, $szPostContent, $aPics );

// Check to see if we have at least 1 image
$iNumberOfPics = count($aPics[0]);

if ( $iNumberOfPics > 0 ) {
     // Now here you would do whatever you need to do with the images
     // For this example the images are just displayed
     for ( $i=0; $i < $iNumberOfPics ; $i++ ) {
          echo $aPics[0][$i];
     };
};

endwhile;
endif;
?>

Générez automatiquement des émoticônes

Une autre fonctionnalité utilisée par WordPress. Avec cela, vous pouvez remplacer automatiquement un symbole émoticône par une image.

$texte="A text with a smiley :-)";
echo str_replace(':-)','<img src="https://catswhocode.com/php-regex/smileys/souriant.png">',$texte);



Source link

Recent Posts