2012-07-19 3 views
0

나는 php에서 domxpath를 사용하여 HTML을 파싱하고 웹 페이지에서 설명을 추출합니다. 하지만 내가 직면하고있는 문제는 대소 문자를 구분하고 다른 경우에 어떤 것이 쓰여지는 경우 오류가 발생한다는 것입니다. 여기에 내 코드 :php case insesitive를 사용하여 dom parsig 만들기

$d=new DOMDocument(); 
$d->loadHTML($source); 
$domx = new DOMXPath($d); 
$description=$domx->query("//meta[@name='description']")->item(0)->getAttribute('content'); 

의 모든 소문자,하지만 아무것도가 다른 경우에 작성된 경우 오류를 제공 할 때 제대로 작동합니다. domxpath에서 대소 문자를 구분하지 못하게하는 플래그 또는 무언가가 있습니까?

+1

http://stackoverflow.com/questions/625986/how-can-i-use-xpath-to-perform-a- 대/소문자를 구분하지 않는 검색 및 지원 - 영어가 아닌 – inhan

+0

그 대답은 xml에 관한 것입니다. domxpath에 대한 새로운 내용이고 html 데이터를 파싱 중이므로 이전에 그 대답을 확인하지 않았습니다. – Sourabh

+0

http://www.php.net/manual/en/domxpath.query.query.query.php#77048이 주석은'DOMDocument :: loadHTML()'을 사용했다면 xpath 표현식에서 소문자 사용은 항상 작동해야 함을 의미합니다. 이걸 시험해 봤어? –

답변

1

그건 바람 피는 것일 수도 있지만 도움이 될까요?

$d=new DOMDocument(); 
$d->loadHTML(mb_strtolower($source)); 

이 너무 모든 컨텐츠 소문자를 만들려고 ...

+0

혁신적인 솔루션 내가 말해야 할 것이지만 추출 된 설명을 사용해야하고이 솔루션은 사례를 변경하므로 실제로는 좋은 생각이 아닙니다. – Sourabh