2010-10-02 169 views

回答

10
$sub = substr($string, 0, 10); 

但是,如果你真的想解析URL(即,你希望它与所有网址的工作),使用parse_url。对于“http://domen.com/aaa/bbb/ccc”,它会给你一个这样的数组:

Array 
(
    [scheme] => http 
    [host] => domen.com 
    [user] => 
    [pass] => 
    [path] => /aaa/bbb/ccc 
    [query] => 
    [fragment] => 
) 

然后,您可以编译成原来的URL这(让http://domen.com/):

$output = $url['scheme'] . "://" . $url['host'] . $url['path']; 

假设$ url包含parse_url结果。

+4

+1 for'parse_url()' – BoltClock 2010-10-02 19:53:04

+2

如果是'substr($ string,17)'种类,'substr'示例会更适合这个问题。但不管怎样,如果适用,应该使用'parse_url'。 – Matthew 2010-10-02 20:25:42

+1

^我没有数字。 – 2010-10-02 20:26:58

2

您可以使用PHP的split

您的代码将是这样的:

$s = "http://domen.com/aaa/bbb/ccc"; 
$vals = split("http://domen.com/", $s); 
// $v will contain aaa/bbb/ccc 
$v = $vals[1]; 
+0

PHP不支持数组解引用,所以'split(...)[0]'不起作用。您需要将结果存储在变量中,然后访问该成员... – ircmaxell 2010-10-02 19:55:52

+0

@ircmxaell:yup。谢谢。 – 2010-10-02 19:57:17

1

如果您只是想在字符串和 “http://domen.com/” 部分是固定的:

$url = 'http://domen.com/aaa/bbb/ccc'; 
$str = str_replace('http://domen.com/','',$url);
0

试试这个:

preg_replace('/^.*?\w\//', '', $url) 
1

使用正则表达式,例如像函数preg_replace

相关问题