2017-12-25 12 views
-3

배열에서 링크를 분리하려하지만 foreach 루프에서는 me.it cosider 두 요소를 링크로 사용할 수 없습니다.배열의 링크를 추출 PHP

저는 하이퍼 링크 인 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"를 사용하고 "없습니다".

!을 제거하거나 "false"를 "true"로 변경하십시오.

또한 유효성을 검사하기 위해 사용하려는 URL에 http://을 추가해야합니다.

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

은 Google 링크에 실패합니다. 당신이 유효성을 검사 할 경우로 변경해야합니다

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