2009-09-06 6 views

Répondre

2

adresse transforme une chaîne en un type de données REBOL d'URL!

Ce que vous voulez est de détecter si une chaîne est conforme aux règles pour une URL. C'est ni facile ni tromper la preuve autant de chaînes de caractères peuvent être des URL dans le monde réel, par exemple:

Si vous voulez capturer les cas les plus courants (par exemple ceux qui commencent par http: //, https: // etc), puis envisager d'utiliser parse.

Ce script fait presque le travail: link text

Ce qu'il manque est quelques définitions de charset (je pense que le code doit avoir été hâtivement cut'n'pasted d'ailleurs) ....

alpha: charset [#"a" - #"z" #"A" - #"Z"] 
digits: charset [#"0" - #"9"] 
alphadigit: union alpha digits 

... et un exemple de comment l'utiliser: en supposant que vous l'avez enregistré localement uri.r:

url-parse: do %uri.r 
parse "http://sss" parse-url/url 
== true 
parse "sss" parse-url/url 
== false 
+0

Bonne réponse, merci beaucoup. –

2

Vous pouvez utiliser:

url? load "any://string"` 

ou

url? attempt [load "any string"] 

Pour utiliser la définition de REBOL d'une URL.

+0

Cela semble super, je vais essayer de vous remercier. –

Questions connexes