2017-12-25 1 views
-3

私は配列からリンクを切り離そうとしていますが、foreachループではme.it cosiderの両方の要素をリンクとして使用できません。配列からリンクを抽出します

私はちょうどハイパーリンクしたいgoogle.comとベーカリーのテキストではないが、私は両方のリンクを取得しているので、一部が動作していないと、そのベーカリーをリンクとして考えている。

$services=array('Bakery','www.google.com'); 

foreach($services as $service): 

    if (!filter_var($service, FILTER_VALIDATE_URL) === false) { 
     $service = $service; 
    } else { 
     $service = '<a href='.$service.'>'.$service.'</a>'; 
    } 
    echo $service; 
endforeach; 
+0

ここ –

+0

セミコロンが欠落していたが、それは問題ではありません、私はit.my質問が解析に関するされていない追加または構文エラー – user2477139

+0

あなたは今得ているものとは対照的に、どんな結果を得ようとしているのかを詳細に記述する必要があります。私はあなたのコードをテストして、結果を得ています。あなたの編集とオリジナルの投稿にはそのことが記述されておらず、私たちがあなたが探しているものを理解することを期待することはできません。 –

答えて

1

ここでの問題は、次のステートメントである:

if (!filter_var($service, FILTER_VALIDATE_URL) === false) 
    ^           ^^^^^ 

あなたが「ない」を意味し、あなたが「偽」使用している!オペレータであること、ここでは二重否定を使用しています。

!を削除するか、「false」を「true」に変更してください。

また、正しく検証するために使用するURLにhttp://を追加する必要があります。

$services=array('Bakery','www.google.com'); 

は、Googleのリンクには失敗します。あなたはそれを検証したい場合は、それを変更する必要があります:あなたはパースエラーがあります実現

$services=array('Bakery','http://www.google.com'); 
関連する問題