Notice
Recent Posts
Recent Comments
Link
투케이2K
287. (AndroidStudio/android/java) Html fromHtml 사용해 html 태그 제거 수행 및 replaceAll 이중 공백 제거 실시 본문
Android
287. (AndroidStudio/android/java) Html fromHtml 사용해 html 태그 제거 수행 및 replaceAll 이중 공백 제거 실시
투케이2K 2022. 3. 31. 15:03[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : java
[소스 코드]
// TODO [html 형식 태그 제거 문자열 데이터 반환]
public static String htmlTagRemoveString(String data){
/**
* // -----------------------------------------
* [htmlTagRemoveString 메소드 설명]
* // -----------------------------------------
* 1. html 형식 태그 제거 문자열 데이터 반환
* // -----------------------------------------
* 2. 호출 방식 :
* String data = "<p>test url</p><p><a href="https://www.naver.com">https://www.naver.com</a></p><p>&nbsp;</p><p>입니다</p><p>&nbsp;</p>";
*
* C_Util.htmlTagRemoveString(data);
* // -----------------------------------------
* 3. 리턴 데이터 : html 형식 태그 제거 문자열 반환
* // -----------------------------------------
* */
// [리턴 데이터 변수 선언 실시]
String result = "";
// [문자열 데이터 널 판단 수행 실시]
if (data != null
&& data.length()>0
&& data.trim().equals("") == false
&& data.trim().equals("null") == false
&& data.trim().equals("undefined") == false){ // [널이 아닌 경우]
try {
// [html 태그 1차 제거 실시]
result = Html.fromHtml(data).toString();
// [html 태그 2차 제거 위해 [&] 이스케이프 문자 카운트 실시]
int checkCount = 0;
for (int i=0; i<result.length(); i++){
if (result.charAt(i) == '&'){
checkCount ++;
}
}
if (checkCount > 0){
for (int k=0; k<checkCount; k++){
// [html 태그 엔티티 문자 제거 실시]
result = Html.fromHtml(result).toString();
}
}
// [html 태그 연속 공백 제거 실시]
result = result.replaceAll("\\s+", " ");
// [문자열 양쪽 끝 공백 제거 실시]
result = result.trim();
}
catch (Exception e){
e.printStackTrace();
}
}
// [로그 출력 실시]
///*
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_Util >> htmlTagRemoveString() :: html 형식 태그 제거 문자열 데이터 반환 실시]");
Log.i("","\n"+"[input :: "+String.valueOf(data)+"]");
Log.i("","\n"+"[result :: "+String.valueOf(result.toString())+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
// */
// [리턴 데이터 반환 실시]
return result;
}
[결과 출력]
반응형
'Android' 카테고리의 다른 글
Comments