如何使用php打破网址并将关键字存储到数据库中

时间:2009-12-10 09:06:43

标签: php regex parsing url-parsing

http:webmail.wipro.com#a:?b;

我想打破这个网址,只将webmail和wipro存储到我的数据库中。任何人都可以帮我解决这个问题。使用php。

3 个答案:

答案 0 :(得分:6)

您应该使用parse_url功能检索零件,然后随意使用(在您的情况下,将它们保存在数据库中)。

以下是手册中的测试代码/输出:

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);

打印以下内容:

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path

答案 1 :(得分:1)

您应该使用正则表达式。如果您运行类似

的内容
preg_match('http:(.*?).(.*?).com#a:?b;', 'http:webmail.wipro.com#a:?b;', $matches);

$ matches [1]应该说webmail和$ matches [2]应该包含wipro。

有更多关于正则表达式和preg_match on the PHP site的文档。

答案 2 :(得分:1)

听起来你正在寻找的是识别URL中的任何单词。在这种情况下,请尝试此RegExp:

preg_match_all ('/\b(\w{4,})\b/', $url, $matches);

$matches将包含一个长度为4或更长的所有类字符串的数组