자바 스크립트를 사용하여 HTML 문자열에서 텍스트를 추출하는 방법
4211 단어 htmljavascript
먼저 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를 추가하는 것을 잊지 마십시오.
Reference
이 문제에 관하여(자바 스크립트를 사용하여 HTML 문자열에서 텍스트를 추출하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/redthemer/how-to-extract-text-from-html-string-using-javascript-1k1d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)