2012-02-03 7 views
0

私はページのURL wwwからカットが必要です。 php trim()関数を使用します。 しかし、この機能をカットし、最初の文字、なぜですか?その他としてphp trim()、うまく動作しません

$domain = parse_url('http://wordpresas.com/page/1'); 
$domain['host'] = trim($domain['host'], 'www.'); 
pr($domain['host']); //ordpresas.com 
+10

を持っている必要があり

if(strncmp('www.', $domain['host'], 4) == 0){ $domain['host'] = substr($domain['host'], 4); } 

'')(トリム正常に動作します。あなたのコードはうまく動作しません – Leigh

+0

面白い、面白いです。 'trim()'の2番目のパラメータは実際には*文字リスト*なので、そのリスト内の文字は途切れます。それを知らなかった。 (まだ、これは設計によるもので、必要なことをするためには別の機能が必要になります。) –

答えて

4

trim()の2番目のパラメータはトリミングを取得a list of charactersが含まれて述べています。

ただし、これにはpreg_replace()を使用できます。これにより、文字列で始まる場合はwww.のみが削除されます。

preg_replace('/^www./', '', $domain['host']); 
+1

誰があなたを落としたのか不明です。 'preg_replace'はこのシナリオではやや残虐かもしれませんが、それは完全に有効な答えです... +1するのは良いです! – Leigh

+1

@Leigh最もクリーンなオプションIMHOです。 (可読性が高い)。私はdownvoterは考える:しかし、しかし、perfomanceについて考える。無知は至福です:P – PeeHaa

+0

単純な 'str_replace( 'www。'、 ''、$ domain ['host'])'はうまく動作しませんか?正規表現の必要はありません...? – Nick

0

これを行うための最も効果的な方法は、おそらくです:それは複雑O(1) :)

関連する問題