2012-10-13 4 views
0

내가 앵커 후 약간의 공간이있는 페이지 긁어하기 위해 노력하고있어 제거 :웹 수확 이상한 문자

</a>&nbsp;&nbsp;|&nbsp;&nbsp; 

내가 텍스트를 지정하는 방법을 찾을 수 없습니다를, 그리고 하나 프로세서 오류가 발생하거나 문자열 자체를 감지하지 못했습니다. 문자가 포함될 때 xml 형식이 올바르지 않기 때문에 HTML/XML 변환이 실패한 후에 모두 발생합니다. 그래서, 나는 (문서의 다른 곳에서 div 태그 나 다른 태그가있는 다른 부분이 있다는 점에 유의하여) 모든 것을 제거해야합니다.

내 코드 :

<xpath expression="/"> 
    <regexp replace="true"> 
      <regexp-pattern>(nbsp;)</regexp-pattern> 
       <regexp-source> 
        <html-to-xml omitcomments="true" advancedxmlescape="true" prunetags="head,script,meta,meta ,p,base,br,link,img,image,input,option,nbsp;"> 
         <http url="http://mysite.org/map/aindex/" method="get" /> 
        </html-to-xml> 
       </regexp-source> 
       <regexp-result> 
        <template></template> 
       </regexp-result> 
     </regexp> 
</xpath> 

나는 내 문제는 정규 표현식 패턴으로 생각합니다. 나는 시도했다 :

 &nbsp; 
    \& nbsp; (without the space in between -- SO doesn't display that correctly 
    \s+\|\s+

다른 것들. 나는 심지어 CDATA 요소에 표현식을 넣으려고했지만, 이것 역시 작동시키지 못합니다.

의견이 있으십니까?

+0

를 사용하려고 할 수 있습니다. 어떻게 작동하는지 알아낼 수 있기를 바랍니다. 다음은 재미 있고 고전적인 Stack-O 응답입니다. http://stackoverflow.com/a/1732454/564406 – David

답변

2

&nbsp;를 들어 정규 표현식 패턴에서 당신이 정규식 기반의 웹 스크래핑가 부족한 이유의 또 다른 좋은 예처럼 보이는 \u00A0