<ul class="uinfo2"><li class="uname2">ruo</li>
<ul class="uinfo2"><li class="uname"><b>Oinsen</b></li>
파일에 위의 HTML 행이 포함되어 있으면 전체 소스 코드에서 굵은 태그를 바꾸려고합니다.태그를 텍스트 파일의 공백으로 대체하는 방법은 무엇입니까?
<ul class="uinfo2"><li class="uname2">ruo</li>
<ul class="uinfo2"><li class="uname"><b>Oinsen</b></li>
파일에 위의 HTML 행이 포함되어 있으면 전체 소스 코드에서 굵은 태그를 바꾸려고합니다.태그를 텍스트 파일의 공백으로 대체하는 방법은 무엇입니까?
정확하게 이해하면 HTML에서 <b>
개의 태그를 제거 하시겠습니까? 그렇다면, 당신은 jQuery를 사용할 수 있습니다
$('b').contents().unwrap();
내가 틀릴 수도 있지만 jQuery가 여기에 연관되어 있는지 잘 모르겠습니까? OP는 그것을 [Java]라고 태그를 붙였습니다 (태그가 잘못 붙을 수도 있음). –
참. 나는 Javascript가 OP에 대해 생각하기 전에 OP가 원했던 것이라고 생각했다. –
그래도 걱정하지 마십시오. [항상 jQuery 응답을위한 공간이 있습니다!] (http://meta.stackexchange.com/questions/19478/the-many-memes-of-meta/19492#19492) –
당신은 정규 표현식을 사용할 수 있지만 HTML과 일치 할 때 그들이 빨리 복잡하게. 파일이 XHTML과 호환된다면 XML로 파일을로드하고 XPath를 사용하여 조건을 충족하는지 확인한 다음 필요에 따라 굵은 태그를 바꾸는 DOM 연산을 사용하는 것이 좋습니다.
replaceAll 메서드를 사용하여 파일의 모든 내용을 읽고 String (예 : String content;)에 저장합니다.
line.replaceAll ("<b>", "") .replaceAll ("</b >", "");
마지막으로 새 String을 해당 파일에 씁니다.
File file = new File("input.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
StringBuilder sb = new StringBuilder();
String line = null;
while((line=reader.readLine()) != null)
sb.append(line.replaceAll("<b>", " ").replaceAll("</b>", " "));
FileWriter writer = new FileWriter(file);
writer.write(sb.toString());
writer.flush();
writer.close();
여기 코드가 있습니다. 이 작업을 수행 할 수 jsoup를 사용
이 예에서는 "0insen"과 같이 묶인 태그는 제거하지만 묶인 내용은 제거하지 않는다고 가정합니다. '그것이 의미하는 바가 아니라는 것을 말하는 것이 아니라, 그 질문의 모호성을 지적하는 것입니다. – Jay
: 당신이 제거 원하는 addTags
에 전달하지 않는 모든 태그와
import java.io.IOException;
import nu.xom.ParsingException;
import nu.xom.ValidityException;
import org.jsoup.Jsoup;
import org.jsoup.safety.Whitelist;
import org.xml.sax.SAXException;
public class HtmlTest {
public static void main(final String[] args) throws SAXException, ValidityException, ParsingException, IOException {
String[] tagsToKeep = new String[] {"ul", "li"};
String html = "<ul class=\"uinfo2\"><li class=\"uname2\">ruo</li>\n<ul class=\"uinfo2\"><li class=\"uname\"><b>Oinsen</b></li>";
System.out.println(JSoup.clean(html, Whitelist.none().addTags(tagsToKeep)));
}
}
초기화 tagsToKeep
.
여기에 묻는 내용이 명확하지 않습니다. * "전체 소스 코드에서 굵은 태그를 바꾸고 싶습니다"*라는 의미를 자세히 설명해 주시겠습니까? (게시물 아래의 "편집"링크를 클릭하여 자세한 정보를 업데이트하십시오.) –