Maison >développement back-end >tutoriel php >Comment puis-je extraire efficacement des URL d'un texte à l'aide de PHP et d'expressions régulières ?

Comment puis-je extraire efficacement des URL d'un texte à l'aide de PHP et d'expressions régulières ?

DDD
DDDoriginal
2024-12-14 12:59:14155parcourir

How Can I Efficiently Extract URLs from Text Using PHP and Regular Expressions?

Extraction efficace d'URL à partir de texte en PHP

Requête

Extraire les URL du texte suivant à l'aide d'expressions régulières, en particulier preg_match() :

$string = "this is my friend's website http://example.com I think it is coll";

Answer

Pour extraire l'URL de la chaîne fournie, l'utilisation d'expressions régulières est une approche appropriée. Un modèle d'expression régulière efficace est :

preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', $string, $match);

Cette expression régulière correspond aux URL valides en garantissant qu'elles commencent par « http » ou « https », contiennent un domaine sans espaces ni caractères spéciaux et incluent éventuellement des paramètres ou des informations de chemin.

Cependant, il y a une limitation à prendre en compte. Les URL mal formées, telles que « http://google:ha.ckers.org », peuvent ne pas être entièrement filtrées par ce modèle.

Vous pouvez également utiliser la fonction WordPress suivante :

make_clickable($string);

Cette fonction est spécialement conçue pour convertir du texte brut en chaînes formatées avec des URL cliquables, fournissant ainsi une méthode robuste pour l'extraction d'URL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn