2013-02-22 1 views
0

정적 HTML 파일의 다양한 검색을 수행해야합니다. 내가 갈 때가되는 한가지 문제는 URL에서 일치를 얻고 있다는 것입니다. 검색/바꾸기를 원하는 것은 모두 텍스트 노드입니다.텍스트 노드에서 검색/바꾸기를 수행 할 HTML 구문 분석기를 찾으십시오.

이렇게하면 정규식이 더 어려워지고 오류가 발생하기 쉽습니다. 지금은 HTML을 파싱하고 있기 때문입니다.

무엇이 가장 쉬운가 텍스트 노드에서만 검색/바꾸기를 할 수 있습니까? 파이썬 - 자바 - 루비 - 헤드리스 - 팬텀 - PHP 노드 - FluxCapacitor에서 Master가 필요없이 몇 분 안에 운영 될 수 있다고 말하는 것입니다.

마치 당신이 바보 같은 말을하는 것처럼 조언하십시오.

나는 현재 에 있습니다. Windows 7입니다.

내가 찾고있는 것은 메모장 + +에서 검색/바꾸기 기능과 같은 것입니다. 검색을 시작하기위한 디렉토리를 지정하고 재귀 적으로 검색하며 지정하는 모든 유형의 파일 (예 : .html 또는 .shtml)을 검색하여 검색 할 내용과 바꿀 내용을 지정합니다. 실행되고 10 ~ 15 초 후에 하나의 파일에서 수백 개의 파일을 편집했을 수도 있습니다. 죽은 단순한 것들.

그래서 내가하고 싶은 것은 텍스트 노드 내에서 검색/바꾸기뿐입니다.

답변

0

SublimeText 2에는 설명하는대로 할 수있는 능력이 있어야하는 매우 강력한 텍스트 검색 기능이 있습니다. 그래서 나는 올바른 방향으로 당신을 가리킬 수 있다고 생각합니다. 나는 그것을 사용하는 방법을 여전히 배우고 있습니다. 그러나 "파일에서 찾기"옵션을 사용하면 선택한 단어를 여러 파일에서 가져 와서 바꿀 수 있습니다. 그러나 바꿀 필요가없는 관련없는 단어는 제외하는 방법을 찾지 못했습니다. 바라건대 다른 누군가가 와서 당신을 계몽 해 주길 바랍니다.

당신은 관객

+0

관련없는 성냥을 제외 할 수없는 경우에는 도움이되지 않습니다. 메모장 + +는 정규식 검색/대체를 조사하기 시작한 이유와 동일한 문제가 있습니다. 또한, 나는 이것을 위해 소프트웨어를 사고 싶지 않다. –

0

당신은 http://htql.net에서 파이썬과 HTQL을 사용할 수를 확대하기 위해 원래의 게시물에 태그 "숭고한 텍스트 2"를 추가 할 수 있습니다. 몇 가지 예 :

page="<html> <body> <table> <tr><td id='cell1'> test1 </td></tr> <tr> <td id='cell2'> test2 </td> </tr> </table> </body> </html>" 

import htql 
print(htql.query(page, "<td (id='cell1')>:tx &replace('XXXX') ")) 
#[("<html> <body> <table> <tr><td id='cell1'>XXXX</td></tr> <tr> <td id='cell2'> test2 </td> </tr> </table> </body> </html>",)] 

print(htql.query(page, "<td (id='cell1')>:id &replace('ZZZZ') ")) 
#[("<html> <body> <table> <tr><td id='ZZZZ'> test1 </td></tr> <tr> <td id='cell2'> test2 </td> </tr> </table> </body> </html>",)] 

print(htql.query(page, "<td (id like 'cell%')>:tx &replace('YYYY') ")) 
#[("<html> <body> <table> <tr><td id='cell1'>YYYY</td></tr> <tr> <td id='cell2'>YYYY</td> </tr> </table> </body> </html>",)]