2009-12-10 122 views
0

http:webmail.wipro.com#a:?b;我怎样才能打破一个网址,并使用PHP

我想打破这个网址,并只存储网络邮件和Wipro到我的数据库的关键字存储到数据库中。请任何人都可以帮我解决这个问题。使用PHP。

+0

首先字状的字符串数组我会问,你澄清你的问题是什么:我不t知道你想要的关键词(对我来说这意味着你需要变量,可能是'a'和'b'?)或存储在数据库中的子域('webmail')和域('wipro')。另外,你使用的是什么数据库? – 2009-12-10 09:13:23

+0

我需要存储在我的数据库中的子域('webmail')和域('wipro')mysql – sangeetha 2009-12-10 09:14:37

回答

6

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

这里是从手动测试代码/输出:

<?php 
$url = 'http://username:[email protected]/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

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

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

+0

它可以有任何选项,如 http://stackoverflow.com/questions/1879683/how-can-i-break-an -url-and-store-the-key-words-into-database-using-php 如果是这种情况,我想存储stackoverflow,问题,中断,存储,单词,数据库 那么怎么可能使用相同的查询 – sangeetha 2009-12-10 09:34:22

1

这听起来像你要找的是识别网址中的任何单词。在这种情况下,试试这个正则表达式:

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

$matches将包含至少4个

+0

<?php $ url =“http://webmail.wipro.com”; preg_match_all('/ \ b(\ w {4,})\ b /',$ url,$ matches); $ n = count($ matches); echo $ n; 为($ I = 0; $ I <$ N; $ I ++){ \t \t 回声 “片$ I = $匹配[$ i]于
”; \t } > 出来放: 2Piece 0 =阵列 片1 =阵列 – sangeetha 2009-12-10 11:33:09

+0

为什么会出现这样的输出plz帮助我走出 – sangeetha 2009-12-10 11:33:47

+0

任何一个可以帮助我 – sangeetha 2009-12-10 11:56:15