자바 스크립트를 사용하여 HTML 문자열에서 텍스트를 추출하는 방법

4211 단어 htmljavascript
html 문자열에서 텍스트를 추출하는 방법은 다양하지만 Regex를 사용하여 수행할 것입니다.
먼저 html 문자열을 변수에 저장한 다음 replace 메서드를 적용하고 값을 변경할 적절한 정규식과 다른 매개변수를 전달합니다.

예시 :

        let  name = my name is anzar
        let  newName = name.replace(anzar,red);
        console.log(the new name is , newName);   // my name is red


여기서 첫 번째 매개변수는 변수에서 일치하는 단어를 찾는 데 사용됩니다. 그리고 두 번째 매개변수는 그것을 일치하는 단어로 대체합니다.

간단하지만 zar에 일치하는 단어가 많으면 어떻게 될까요?

예시 :

        let name = hey anzar how are you anzar;
        let  newName = name.replace(anzar,red);
        console.log(the new name is , newName);  


이 문자열에 대해 다시 시도하면 결과는 - Hey red How are you zar입니다.
따라서 첫 번째 일치하는 단어에 대해서만 작동합니다. html에는 많은 태그가 있으므로 이것은 우리에게 적합하지 않습니다.
이 작업을 수행하려면 첫 번째 매개변수 끝에/g를 추가해야 합니다. 이것은 전역을 의미하므로 이제 첫 번째 단어 대신 일치하는 모든 단어가 대체됩니다.

좋습니다. 이제 주요 작업을 수행하겠습니다. p 태그, 태그 등과 같은 100개에 가까운 html 태그가 있습니다.
따라서 위의 방식으로 모든 태그를 제거해야 했습니다. 농담이야 😜

정규 표현식은 구출을 위해 옵니다. 이것은 프로그래밍에서 사용할 수 있는 가장 강력한 것 중 하나이지만 매우 실망스럽습니다.
지금은 이해할 수 없지만 html을 제거하는 표현을 알려드릴 테니 걱정하지 마세요.

정규식은 -

      replace(/<[^>]*(>|$)| |‌|»|«|>/g, ' ');


두 번째 매개변수는 비어 있습니다. 왜냐하면 우리는 html을 제거하기를 원했기 때문입니다. 이것은 잘 작동할 것입니다. 한 가지만 더 남았습니다.

html에서 &는 &로 표시되므로 html의 텍스트에 &가 포함될 가능성이 있으므로 이를 제거하기 위해 다시 replace 메소드를 사용할 수 있지만 이번에는 두 번째 매개변수를 빈 문자열로 전달하는 대신 &를 전달합니다. 텍스트를 보존하고 싶었기 때문입니다.

예시 :

replace(/&/g,"&");


마지막으로 모든 것을 제거하고 일반 텍스트만 얻었습니다. 완전히 이해하셨기를 바랍니다. 일치하는 모든 인스턴스를 제거하려면 첫 번째 매개변수 끝에/g를 추가하는 것을 잊지 마십시오.

좋은 웹페이지 즐겨찾기