2012-10-28 2 views

답변

0

을 변수로 각 행을 일치, 그리고 foreach 루프에서 그것을 사용하기는 preg_match 싶습니다

ftp://username:[email protected] <br> 
ftp://username:[email protected] <br> 
ftp://username:[email protected] <br> 

요법과 같은 데이터가 preg_match가 필요하지 않습니다. 폭발을 사용할 수 있습니다. 마지막 빈 키를 제거하려면 explode 후 array_pop을 사용해야합니다.

<?php 
$linkArray = explode(" <br>",$links); 
array_pop($linkArray); 
?> 

이제 배열의 각 값에는 링크가 포함되지만 "br"태그는 포함되지 않습니다. 나는 그것이해야한다고 생각한다.

귀하의 데이터는 다음과 같습니까?

$str= "ftp://username:[email protected] <br> 
      ftp://username:[email protected] <br> 
      ftp://username:[email protected] <br>"; 

그렇다면 솔루션이 작동합니다.

+0

아니, 폭발 다시 그냥 전체 문자열을 제공, 배열 변수로 문자열을 나눌 필요가 –

+0

모든 세 줄은 하나의 문자열에 있습니다 ? –

+1

'list ($ var1, $ var2, $ var3) = 폭발 (...)'? –

0

단순한 경우이지만 ... rfcs를 검사하여 해당 URL에 어떤 문자가 허용되는지 여부를 확인해야합니다.

<?php 

$lines=explode("\n","ftp://username:[email protected] <br> 
ftp://username:[email protected] <br> 
tp://username:[email protected] <br> 
ftp://username:[email protected] <br>"); 

foreach ($lines as $line) { 
if (preg_match('/^ftp:\/\/[\da-z]+:[^\@]+\@[^\s]+ <br>\s*$/',$line)) {echo "$line is ok\n";} 
} 
관련 문제