jQuery/Javascript를 사용하여 HTML 컨텐트를 구문 분석하려고합니다. 나는 대괄호 사이의 단어를 찾고 전체 단어를 링크로 변경하려고합니다.웹 페이지의 링크를 대괄호로 바꿉니다.
예 : 나는 대괄호 사이에 단어의 모든 인스턴스를 찾을 수 있습니다
<div>
This is text inside a div. It has a reference to an <a href='/dictionary#Article'>Article</a>
</div>
:이 같은 무언가로 이중 괄호 안에 무엇을 변경하는 정규 표현식을 사용하려고 해요
<div>
This is text inside a div. It has a reference to an [[Article]]
</div>
이 정규식 :
$('article').html().match(/[^[\]]+(?=])/g)
하지만 텍스트를 바꾸는 방법을 모릅니다. .
나에게 매우 깨끗한 해결책을 두들겨 라. 이것은 중첩 된 요소에 바인딩 된 핸들러를 지 웁니다. 그러나 'div'자손에 이벤트 핸들러가 연결되어 있지 않으면 textNodes를 반복 할 가치가 없습니다. –
이 기능은 완벽하게 작동하지만 몇 가지 유형을 대체하는 경우 성능이 용납 될 수 없습니다. Regexes는 매우 효율적이지 않습니다. 대괄호로 묶인 태그가 많은 위키 나 포럼 또는 뭔가를 만들고 있다면, 대신에 각 태그의 시작과 끝의 색인을 붙잡고 인터프리터 함수로 전달할 수 있습니다. – user1618143
@ FabrícioMatté 사실, 나는 그것에 대해서도 생각했고, 처음에는 .contents() 솔루션을 제공하기를 원했습니다. 마지막으로 간단한 innerHTML 변경으로 이동하기로 결정했습니다. – VisioN