0

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

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

4

3 回答 3

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
于 2009-12-10T09:16:10.867 回答
1

听起来您正在寻找的是完全识别 URL 中的任何单词。在这种情况下,试试这个 RegExp:

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

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

于 2009-12-10T09:56:41.520 回答
1

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

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

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

PHP 站点上有更多关于正则表达式和 preg_match 的文档。

于 2009-12-10T09:16:14.457 回答