uiwebview JavaScript HTML 仅获取面向用户的正文文本
uiwebview javascript HTML get user facing body text only
我在UIWebView
中加载了以下html源代码我想提取
文本1
文本2 文本2
文本3 文本3 文本3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>1322170516271</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=1, minimum-scale=1.0, maximum-scale=4.0">
<style type="text/css">
body
{
padding: 5px;
margin: 0px;
font-family: Helvetica, Arial;
font-size: 12pt;
background-color: #efefef;
background-image: url(ArticleBackground.jpg);
background-position: cover;
color: #000000;
}
h1
{
text-align: center;
border-bottom: 1px dotted #805050;
font-size: 28px;
line-height: 38px;
margin-bottom: 30px;
text-shadow: 0 2px 1px white;
color: #803030;
}
</style>
</head>
<body>
<script type="text/javascript">
function printMe()
{
print();
}
</script>
<div style='align:center; padding: 20px;'>
<div>
<b>text1</b><br><br>
<h2>
text2 text2
</h2>
<br>
text3 text3 text3
</div>
</div>
</body>
</html>
但这是我使用时得到的
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.textContent"]
我不需要身体和h1。我只想要面向用户的实际文本。
234534546
body
{
padding: 5px;
margin: 0px;
font-family: Helvetica, Arial;
font-size: 12pt;
background-color: #efefef;
background-image: url(ArticleBackground.jpg);
background-position: cover;
color: #000000;
}
h1
{
text-align: center;
border-bottom: 1px dotted #805050;
font-size: 28px;
line-height: 38px;
margin-bottom: 30px;
text-shadow: 0 2px 1px white;
color: #803030;
}
function printMe()
{
print();
}
text1
text2 text2
text3 text3 text3
感谢您的任何见解。
更新
[webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"] 也不适用于我的目标
<script type="text/javascript">
function printMe()
{
print();
}
</script>
<div style="align:center; padding: 20px;">
<div>
<b>text1</b><br><br>
<h2>
text2 text2
</h2>
<br>
text3 text3 text3
</div>
</div>
更新:这是现有项目所必需的。如果我有机会重新设计它,解决方案将很容易找到。但是考虑到这个HTML源代码,它可能会使它有点困难。
尝试使用 :
document.body.innerHTML
或者看看解析 HTML:在 iPhone 上解析 HTMLSO上还有许多其他链接。
为什么
不将所有文本放入不同的标签中,例如div,p等。 给它们每个人 id,然后通过语法获取其中的文本
var text1 = document.getElementById("your ID").innerHTML
希望这适用于您的问题。
相关文章:
- 我可以在网页正文中插入文本链接吗
- 选择<脚本></脚本>作为html正文中的纯文本
- jQuery-使用正文文本作为选择器
- 通过在 JavaScript 中使用正文标签的 ID 向
标签添加文本
- JavaScript:获取搜索文本在正文上的滚动位置
- 使用 Java 脚本获取 HTML 正文中所有文本框的名称和 ID
- 如何在 Node.js 中获取 Twilio SMS 正文文本
- 使用 MailApp.sendEmail 格式化正文电子邮件文本的替代方法
- 为什么 Chrome 在使用书签时更新正文而不是文本区域值
- uiwebview JavaScript HTML 仅获取面向用户的正文文本
- 突出显示文本正文中的短语部分
- 如何在 HTML 正文部分以纯文本形式发送邮件 在 Ant 邮件任务的帮助下
- 更改正文文本(快速方式)
- Javascript在正文文本中搜索关键字,如果找到,则重定向到特定的URL
- 如何在HTML中将文本javascript显示为正常正文的一部分
- HTML所有浏览器的闪烁文本,但位于正文的不同区域
- 使用页面标题作为正文中的文本
- 当文本输入具有焦点时,淡入正文背景
- 当bg颜色发生变化时,Javascript正文文本发生变化
- dom事件-JavaScript onclick脚本,用于启动带有主题和正文文本的本地邮件客户端