2014-11-11 1 views
2

저는 아랍어로 영어의 절반, 아랍어로 절반의 링크를 일치 시키려고합니다.Preg는 아랍어와 일치합니까?

"/<arabic>/123/<arabic>-<english>.html" 

의 URL에서 다시 기본 preg_match('@<a href="/(.*?).html" >); 반환 모든 그러나 아랍어는 예를 들어 "دانلود-رایÚ"를 반환, 더 이상 페이지를 식별 할 수 있음을 의미합니다 : 같은 예로

링크가 보인다.

나는 \p{Arabic}과 같은 몇 가지 것을 시도했지만 아무 것도 반환하지 않습니다. 이러한 링크를 캡처 할 수있는 방법이 있습니까?

나는이 문제를 해결할 방법이 없다고 생각합니다.

preg match & 내가 일치하는 것을 시도 할 항목을 추가하십시오.

preg_match_all('@<a href="/\p{Arabic}/(.*?)/\p{Arabic}-(.*?)" >@iu',$page,$link); 

예를 들어 텍스트 -

"a href="/دانلود-رایگان-کتاب/کتاب-های-خارجی/مطلب/2120-the-essential-financial.html" 
+0

일치시키려는 정규식과 샘플 텍스트를 포함하는 코드 스 니펫을 포함 할 수 있습니까? –

+2

이 게시물을 도울 수 있습니다 : http://stackoverflow.com/questions/12046526/preg-replace-and-preg-match-arabic-characters – teeyo

+0

방금 ​​코드 및 예제 텍스트를 편집했습니다. 링크를 주셔서 감사합니다. 나는 그것을 보았지만 어떤 문자가 필요한지 알았는지 확실하지 않았습니다. – TrueSlawter

답변

0

regex to parse HTML를 사용하기 전에 두 번 생각하십시오.

$doc = new DOMDocument(); 
$doc->loadHTML($yourHTML); 

$links = $doc->getElementsByTagName('a'); 

foreach($links as $link){ 
    echo $link->getAttribute('href'); 
} 
관련 문제