2010-10-02 227 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

相關問題