2010-01-06 4 views
0

PHP 스크립트에서 regex를 사용하여 Rapidshare 링크의 페이지를 확인하고 배열로로드합니다.정규식으로 구문 분석 한 후 중복 배열 항목 가져 오기

내 코드 :

if(preg_match_all('/http:\/\/rapidshare\.com\/files\/.*?\/[^\s]+/', $links[0], $links)) 
{ 
    print_r($links); 
} else { 
    die('Cannot find post links :('); 
} 

이 올바르게 링크를 발견하고 배열로 박았 : 당신이 볼 수 있듯이

Array 
(
    [0] => Array 
     (
      [0] => http://rapidshare.com/files/320708377/file_name1.rar 
      [1] => http://rapidshare.com/files/320708377/file_name1.rar 
      [2] => http://rapidshare.com/files/333708133/file_name2.rar 
      [3] => http://rapidshare.com/files/333708133/file_name2.rar 
      [4] => http://rapidshare.com/files/330738827/file_name3.rar 
      [5] => http://rapidshare.com/files/330738827/file_name3.rar 
     ) 

) 

, 그것은 각각의 배열에 두 개의 링크로 들어갑니다. 왜 이런 일을하는지 전혀 모르지만 그것은 정규식과 관련이 있다고 생각합니다.

어떤 도움이 필요합니까? 건배. :)

+0

데이터 소스를 보지 않고, 그것을 도와 어려울 것 : 나는 <a> 태그가 있다면 당신은 모두 href과 실제 링크 텍스트 캡처 있다는 것을 생각한다. – mopoke

+0

또 다른 황혼의 새 문지기? : P –

답변

0

sigh 하이퍼 링크이고로드하는 URL과 링크 텍스트를 가져와서 발생합니다. 그냥 레코드에 대한

1

:

첫 번째 배열을 통해 for each해야 할 것입니다 그래서 ..하지만 다차원 배열에 대해 작동하지 않습니다
$array = array_unique($values); 

.

+0

반드시 그렇지는 않습니다. http://stackoverflow.com/questions/1247950/how-to-remove-duplicated-2-dimension-array-in-php/1248189#1248189 –

+0

그래서 내가 말했듯이 다차원 배열 작업 ... –

0

preg-match-all 동일한 변수 이름을 사용하지 않고 제목이 일치 할 수 있습니까?

너무 혼란 스럽습니다.

또한. $ 링크의 내용을 알려주십시오.

1

preg_match_all()은 마술처럼 중복되지 않습니다. 각각 2 회 발생해야합니다. 당신은 HTML 문자열에 정규식을 사용하고 있습니까?

<a href="http://www.example.com">http://www.example.com</a> 
관련 문제