Sur la tribune on peut taper des urls à la con comme
http://.(...)
http://::::::::::@@@@@.........@@@@@:::::::.com(...)
http://@.@(...) <-jolie celle là :)
http://:/:/:/:/:/:/:/:/:/:/:/:/:/:/:/:/:/:/:/(...)
Je suis en train d'essayer d'écrire une regexp qui va bien pour les parser correctement mais c'est pas évident ? J'ai l'impression que cette erreur est présente sur tous les bouchots.
Quelqu'un pour confirmer ?
PS : C'est un journal déguisé pour voir si le journal va croire que mes fausses urls sont correctes.
PS2 : Et oui je viens de voir à la verification que c'est gruick ici aussi
# Re: Probleme avec le detecteur d'url
Posté par Anonyme . Évalué à 1.
Si quelqu'un a une regexp bien solide pour parser les urls ça serais sympa qu'il la partage ici.
[^] # Re: Probleme avec le detecteur d'url
Posté par vaxvms . Évalué à 2.
http://www.foad.org/~abigail/Perl/url2.html(...)
et la regex
http://www.foad.org/~abigail/Perl/url3.regex(...)
mais bon accroche toi ! (je ne l'ai pas testé)
vaxvms
# Re: Probleme avec le detecteur d'url
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
[^] # Re: Probleme avec le detecteur d'url
Posté par Anonyme . Évalué à 1.
# Re: Probleme avec le detecteur d'url
Posté par rarcel . Évalué à -9.
[^] # Re: Probleme avec le detecteur d'url
Posté par Anonyme . Évalué à 8.
Je suis en train d'essayer de trouver une soluce et je demande si quelqu'un n'a pas déja ça sous la main. Surtout que ça ne touche pas que linuxfr mais des tas d'autres sites. C'est peut être pas un problême pour toi (je trouve pas ça grave non plus, rassure toi) mais ça fait pas de mal une petite amelioration (correction ?).
C'est le journal en premiére page qui te dérange ? Ca concerne le site donc surement du monde, c'est donc mieux que je le montre à tous plutot que de le mettre en journal privé. Je finir par croire que y'a plus de place que pour notre vénérable Pierre Tramo dans les journaux...
# Re: Probleme avec le detecteur d'url
Posté par Sébastien Munch . Évalué à 2.
Et puis clique dessus avec Mozilla, il te dira 'the URL is not valid blablabla'. Donc y'a une détection dans Mozilla.
Et sinon bah y'a certainement une RFC qui définit la bonne forme des URLs. Maintenant, va implémenter une bonne détection complète, ca va être méga lourd. Alors qu'actuellement il y a une "simple" regex connue qui marche à peu près bien.
[^] # Re: Probleme avec le detecteur d'url
Posté par Anonyme . Évalué à 1.
[^] # Re: Probleme avec le detecteur d'url
Posté par Krunch (site web personnel) . Évalué à 2.
http://www.ietf.org/rfc/rfc2396.txt(...)
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Re: Probleme avec le detecteur d'url
Posté par Krunch (site web personnel) . Évalué à 5.
http://www.regexp.org/msg.php?uid=486(...)
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Probleme avec le detecteur d'url
Posté par tgl . Évalué à 1.
[^] # Re: Probleme avec le detecteur d'url
Posté par allcolor (site web personnel) . Évalué à 2.
((((new|(ht|f)tp)s?://){1}([a-z0-9_-]+:[a-z0-9_-]+\@)?((www|ftp|[a-z0-9]+(-\+[a-z0-9])*)\.)?)([a-z0-9]+(\-+[a-z0-9]+)*[\.]?)+([a-z]{2,7})?(:\d+)?(/~[a-z0-9_%\-]+)?(/[a-z0-9_%.-]+(?=/))*
(/[a-z0-9_%-]+(\.[a-z0-9]+)?(\#[a-z0-9_.]+)?)*(/?\?([a-z0-9_.%-]+)=[a-z0-9_.%/-]*)?(&([a-z0-9_.%-]+)=[a-z0-9_.%/-]*)*/?)
testé sur ma tribune :
http://arrakis-lan.homelinux.org/board/index.do(...)
[^] # Re: petit changement
Posté par allcolor (site web personnel) . Évalué à 2.
((((new|(ht|f)tp)s?://){1}([a-z0-9_-]+:[a-z0-9_-]+\@)?((www|ftp|[a-z0-9]+(-\+[a-z0-9])*)\.)?)([a-z0-9]+(\-+[a-z0-9]+)*[\.]?)+
([a-z]{2,7})?(:\d+)?(/~[a-z0-9_%\-]+)?(/[a-z0-9_%.-]+(?=/))*(/[a-z0-9_%-]+(\.[a-z0-9]+)?(\#[a-z0-9_.]+)?)*
(/?\?([a-zA-Z0-9_.%-]+)=[a-zA-Z0-9\|;_.%/-]*)?(&([a-zA-Z0-9_.%-]+)=[a-zA-Z0-9\|_.;%/-]*)*/?)
[^] # Re: petit changement
Posté par allcolor (site web personnel) . Évalué à 2.
((((new|(ht|f)tp)s?://){1}([a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+\@)?((www|ftp|[a-zA-Z0-9]+(-\+[a-zA-Z0-9])*)\.)?)
([a-zA-Z0-9]+(\-+[a-zA-Z0-9]+)*[\.]?)+([a-z]{2,7})?(:\d+)?(/~[a-zA-Z0-9\._%\-]+)?(/[a-zA-Z0-9\._%.-]+(?=/))*
(/[a-zA-Z0-9\._%-]+(\.[a-zA-Z0-9]+)?(\#[a-zA-Z0-9_.]+)?)*(/?\?([a-zA-Z0-9_.%-]+)=[a-zA-Z0-9\|;_.%/-]*)?
(&([a-zA-Z0-9_.%-]+)=[a-zA-Z0-9\|_.;%/-]*)*/?)
[^] # Re: petit changement
Posté par allcolor (site web personnel) . Évalué à 2.
([^(µµ)]|^)((((new|(ht|f)tp)s?://){1}([a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+\@)?((www|ftp|[a-zA-Z0-9]+
(-\+[a-zA-Z0-9])*)\.)?)([a-zA-Z0-9]+(\-+[a-zA-Z0-9]+)*[\.]?)+([a-z]{2,7})?(:\d+)?(/~[a-zA-Z0-9\._%\-]+)?
(/[a-zA-Z0-9\._%.-]+(?=/))*(/[a-zA-Z0-9\._%-]+(\.[a-zA-Z0-9]+)?(\#[a-zA-Z0-9_.]+)?)*(/?[\?]?
([a-zA-Z0-9_\.%-\|;\:]*)[=]?[a-zA-Z0-9\|;\._%-\:]*)?([&|/]([#;a-zA-Z0-9_.%-\:\|]*)[=]?[a-zA-Z0-9\|_.;%-]*)*/?)
[^] # La regexp Finale ?
Posté par allcolor (site web personnel) . Évalué à 2.
(/[\~a-zA-Z0-9\.\:\|;_%\-&&[^<>]]*)*((\?|&)([a-zA-Z0-9_\.%-\|;\:\-&&[^<>]]*)[=]?[a-zA-Z0-9\|;\._%-\:\-&&[^<>]]*)*
(\#[a-zA-Z0-9_\.\-&&[^<>]]+)?)
# Re: Probleme avec le detecteur d'url
Posté par Ramón Perez (site web personnel) . Évalué à 1.
Ya aussi beaucoup de posts avec des fautes d'orthographe, mais ya personne qui en fait tout un fromage parce qu'il y a des mots qui sont faux et qui donc, selon ta logique, ne devraient même pas apparaitre à l'écran.
[^] # Re: Probleme avec le detecteur d'url
Posté par Krunch (site web personnel) . Évalué à 2.
La différence c'est qu'en Français tu peux facilement inventer des néologismes "valables" qui ne sont pas dans le dictionnaire et qu'aucun programme ne pourra reconnaitre comme tel (ou alors faut vraiment s'amuser). Pour les URL (URI ?), il y a une syntaxe bien précise justement pour que ça soit interprétable par un programme et donc tu peux objectivment déterminer si l'URL est valable ou non rien qu'en regardant la syntaxe.
Ceci dit, le passage par ispell à la prévisualisation ça pourrait être intéressant. Je crois que j'ai déjà vu ça quelque part d'ailleurs. Dans le slashcode peut-être.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Re: Probleme avec le detecteur d'url
Posté par Yves Agostini (site web personnel) . Évalué à 2.
Je l'avais déjà envoyé il y a un an ... et on m'a dit que c'était en cours
3 parties :
- un script perl "spellcheck", renvoie une liste des mots faux et les propositions
- le javascript en html, certain caractères doivent être nettoyés avant d'être transmis à ispell
- une page html en mod_perl/mason (adaptable en php) qui appelle le script perl et affiche
===spellcheck====
#!/usr/bin/perl -w
$| = 1;
use Lingua::Ispell qw( spellcheck );
use strict;
my @result;
my @prop;
#Lingua::Ispell::use_dictionary("french");
while ( <> ) {
chomp;
my $line = $_;
for my $r ( spellcheck( $line ) ) {
if ( $r->{'type'} ne 'ok' ) {
push (@result,"$r->{'term'}"); };
if (defined(@{$r->{'misses'}})) {
foreach my $term (@{$r->{'misses'}}) {
push (@prop,"$term");
}
}
}
}
foreach my $line (@result) {
print "$line\n";
}
print "---\n";
foreach my $line (@prop) {
print "$line\n";
}
===javascript==
<script type="text/javascript">
function help() {
var winhelp = window.open('','aide','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=400,height=200');
winhelp.focus();
}
function ispell() {
var str;
str=document.forms[0].col.value;
str = str.replace(/\n/g," ^ ");
str = str.replace(/\&/g,"");
str = str.replace(/~R/g,"'");
str = str.replace(/~\/g,"oe");
str = str.replace(/~Q/g,"'");
str = str.replace(/~S/g,"\"");
str = str.replace(/~T/g,"\"");
var url="ispell.html?text=" + str;
var winispell = window.open(url,'ispell','height=400,width=400,scrollbars=yes,dependent')
winispell.focus();
}
</script>
======ispell.html====
<table width=100%>
<TR><TD>
<% $text %>
</TD>
</TR>
</TABLE>
<HR noshade>
<PRE>
<% @prop %>
</PRE>
<%args>
$text=>""
</%args>
<%init>
my $dir=$m->fetch_comp("ispell.html")->source_dir;
$text=~s/\*|\\||_|<|>|;|\%|\"//g;
my @res=`echo "$text" | $dir/spellcheck`;
my @prop; my $fprop=0;
foreach my $change (@res) {
chomp($change);
$fprop=1 if ($change =~ /^---/);
if ($change !~ /^---/ && !$fprop) {
$text=~s/$change/<font color=red>$change<\/font>/gi;
} else {
push (@prop,"$change\n"); }
}
$text=~s/ \^/<BR>/g;
</%init>
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.