ios,android不用内置浏览器如何解析html数据并布局
伊谢尔伦
伊谢尔伦 2017-04-17 17:50:10
0
3
388

现在做的这个项目有一个文章详情的页面要显示,文章内容是html代码,有图文,就跟微信公众号的文章一样的。以前都是直接用内置浏览器打开,但现在要求不能用webview打开网页,要使用原生解析html数据并布局?请问苹果和安卓端各有相应的插件可以用吗?或者说有什么好的实现思路?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(3)
Peter_Zhu

멋지군요. DOM 구조를 파싱하려면 서버의 협조가 필요할 것 같습니다(프론트 엔드에서 수행하지 않으면 성능이 좋지 않을 수 있으며, 두 번째는 캐시에 저장될 수 있다는 점입니다). 서버)

리액트 네이티브에 간단한 HTML을 넣으려고도 했습니다(일반 구조, 가능한 중첩 스타일, 모든 태그, 속성, 심지어 표시될 속성의 순서까지 알고 있음)

그런데 p, img, b/blockquote, a 믹싱을 하다가 네스팅 레이어가 하나밖에 없어서 한시간 작업하다가 포기하고 솔직히 WebView를 만들어서 넣었습니다.

에서

그래서 문제의 핵심은 Java에 균형 잡힌 그룹이 없다는 점을 고려하면 정규식을 사용하여 요소를 표시하는 것이 매우 고통스러울 것이라는 점입니다. 정규식을 사용하지 않고 DOM 구조를 분석하는 것은 너무 피곤할 것입니다. 표현식을 사용하려면 DOM 파서 라이브러리가 필요하고 DOM 트리를 가져온 다음 DOM 트리를 사용하여 각 요소를 기본 요소로 변환합니다. . .

예를 들어 p에 너비가 설정되어 있으면 내부 요소가 한 줄에 충분하지 않으면 아래로 압축해야 할까요? 아니면 float가 없는 두 개의 p가 있는 경우입니다. , 자동으로 줄 바꿈이 되지만 구문 분석 시 식별할 수 있는 <br/> 같은 것은 없습니다. .

巴扎黑

개인적으로는 모르겠습니다. 웹뷰로 표시하지 않을 거라면 왜 html 형식을 사용해야 할까요? 다른 형식으로 하면 더 효율적일까요?
html 형식을 수동으로 파싱해야 하는 경우 TextView에서 html 스타일을 설정할 수 있지만 일반적으로 해당 요소를 하나씩 표시하고 해당 스타일에 해당 속성을 설정하는 것은 다소 번거롭습니다.

Ty80

이미지와 텍스트가 혼합되어 있다면 웹뷰만큼 좋은 것은 없습니다. 이미지와 텍스트를 분리할 수 있는지 여부는 디자인 요구 사항에 따라 다릅니다. 일반적인 Android 버전은 TextView+ImageView에 그리드뷰 및 기타 조합을 더한 것입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!