ok... c'est une fonction qui fonctionne sans souci, si ce n'est que les
personnes qui ont des pages perso du style "perso..." vont se voir
refuser leur url. J'ai bien tenté de faire un truc mais ça foire
lamentablement... comment faire?
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 28 déc. 2005 à 21:17
1 parce que le monsieur veut pas forcement de http (donc je suis pas sur que la tienne passe )
2 parce que l'avantage de la liste d'extension c'est que si on rentre
une extension qui existe pas elle passe pas contrairement avec la
tienne... le désavantage c'est qu'elle est grave longue... .. .
ne trouve pas les adresses qui ont un dossier ensuite...
[auteurdetail.aspx?ID =377168 kankrelune] , ton expression commence par :
'/^(https?\:\/\/|)(www\.|)[a-zA-
donc, il faut obligatoirement une adresse http, et obligatoirement les www.... je modifie et je fais les benchs...
faut-il mieux utiliser :
(s?(http|ftp)s?|news)
ou
(http|https|ftp|sftp|news)
?
code:, temps d'exécution pour 100 calculs (en milisecondes), ----
global $texte;
$a=preg_match_all('/(s?(http|ftp)s?|news):\/\/\S+\s?/i', $texte, $urls);, 18.5625729561, ----
global $texte;
$a=preg_match_all('/(http|https|ftp|sftp|news):\/\/\S+\s?/i', $texte, $urls);, 153.710473061
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Kate, the KDE Advanced Text Editor">
Bon, on voit nettement la différence... j'ai fais plusieurs tests, et ça donne toujours ça... (le texte est long, et ce sont des preg, donc, 100, c'est représentatif...)
code:, temps d'exécution pour 100 calculs (en milisecondes), ----
global $texte;
$a=preg_match_all('/(s?(http|ftp)s?|news):\/\/\S+\s?/i', $texte, $urls);, 155.058032036, ----
global $texte;
$a=preg_match_all('/(s?(http|ftp)s?|news):\/\/\S+[[:alnum:]]\s?/i', $texte, $urls);, 304.11284399
bon, après ma solution vaut mieux que celle de malam...
j'ai ajouté un \S dèrière la tienne pour qu'elle prenne en compte les
dossiers qui suivent les urls... je ne la recopie pas car elle est trop
longue, mais bon, elle est plus lente...
In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy
Mon site (articles sur la programmation et programmes)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 29 déc. 2005 à 11:11
Salut,
malam = > parceque benchmarks...
[auteurdetail.aspx?ID=202329 lagombe] => ta
solution n'est pas super bien parcequ'elle ne prends pas toutes les
adresses et ne prends pas les dossiers... donc, utilise une autre
solution...
Je n'ai jamais comparé en profondeur ereg et preg, mais on dit souvent
que preg est plus rapide (je crois qu'antho avait fait des benchs...)
preg est théoriquement plus rapide car il ne fait pas appel à perl...
Ma solution est la plus simple, et souvent, au niveau des expressions régulières, ça fait quelquechose de rapide....
In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy
Mon site (articles sur la programmation et programmes)