你能告诉我如何从不同的超链接中验证超链接吗。例如
我想使用简单的html dom 从网站上单独获取这些链接,从粗体地址开始(两颗星之间)
1 http://**www.website1.com**/1/2/
2 http://**news.website2.com**/s/d
3 http://**website3.com/news**/gds
我知道我们可以使用preg_match;但我很难理解赛前比赛。有人能给我一个preg_match脚本来验证这些网站吗。。你能解释一下是什么意思吗
preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url)
preg_match中那些看起来随意的角色是什么?这些字的意思是什么?
如果你想学习正则表达式,我想你可以在regular-expressions.info网站上有一个好的开始。
如果你想更多地使用它们,《掌握正则表达式》一书是必读的。
编辑:这是一个简单的演练tho:
- pregmatch的第一个参数是regexp字符串。第二个是你正在测试的字符串。可以使用第三个选项,它将是一个数组,其中存储捕获的所有内容
- |用于分隔regexp及其选项。介于第一个之间的是regexp,末尾的i是一个选项(意味着您的regexp不区分大小写)
- 第一个^标记要匹配的字符串的起始位置
- 然后(s)?意思是你想要一个或没有s的角色,你想"捕捉它"
- [a-z0-9]+是任意数字(偶数为0)的字母数字字符
- (.[a-z0-9-]+)*错误。它应该是(''.[a-z0-9-]+)*,以捕获由一个点和至少一个字母数字字符组成的任意数量的序列
- (:[0-9]+)?将捕获一个或不捕获由以下组成的序列:后跟任意数字。它用于获取url端口
- (/.*)?捕获url的末尾,后面跟着任意数字的任意字符的斜杠
- $是字符串的末尾
看看In search of the perfect URL validation regex。