2010-12-11 18 views

答えて

43
if (strpos($source, 'http') === 0) { 
    $source = "<a href=\"$source\">$source</a>"; 
} 

注意、ない==strposため、戻りfalseブール。 PHPではゼロが間違っているので、あいまいさを取り除くには厳密な等価チェックが必要です。

参考:

http://php.net/strpos

http://php.net/operators.comparison

+3

あなたは針で干し草の山を混同。 – Ben

+0

@Ben:いいキャッチ、ありがとう。 – Jonah

+0

チャームのように働いた。お返事ありがとうございます:) strposについて読む余分なリンク – Andelas

5

使用substr:文字列の一致が含まれていない場合、私は===を使用

if (substr($source, 0, 4) === 'http') 
12

あなたはsubstr()機能が欲しいです。

if(substr($source, 0, 4) == "http") { 
    $source = "<a href='$source'>$source</a>"; 
} 
+0

おっと、 '0、4'、' 4'でなくてはなりません。 '4'はすべてのものを得るだろう_but_ http :) – Jonah

+0

@Jonah:あなたがコメントを書いている間、私はそれを編集していた。 [「たわごと!私はいつもそうしています。 - マイケル・ボルトン(http://www.imdb.com/title/tt0151804/) – AgentConundrum

+0

あなたはそれをテストしなければなりません、私はポジション4から文字列全体を取り出すと信じています。 –

5
if(strpos($source, 'http') === 0) 
    //Do stuff 
+0

おそらく文字列がPHPの部分文字列で始まるかどうかをチェックする最もエレガントな方法でしょう。 – Robert

+0

Lolwut?あなたは本当に理由を尋ね、 'strpos'(私がちょうど最もエレガントな方法であるとコメントしたもの)がより明確であると述べていますか? – Robert

+0

@ロバーツ:ああ、ちょっと、私は誤読しました。私はあなたが 'substr'の解決策が良いと言っていると思っていました。私の悪い:) – Jonah

関連する問題