0

我正在使用 InstaPaper API

我正在使用这个字符串来提取文章的内容。

$Bookmark_Text = $connection->getBookmarkText($Bookmark['bookmark_id']);

不幸的是,它拉动了整个 html,基本上把 HTML 结构放在了我的 HTML 中。

例子。

<html>
<head></head>
<body>
    <html>
    <head>Instapaper Title</head>
    <body>InstaPaper Article Content</body>
    </html>
</body>
</html>

关于如何获取“Instapaper 文章内容”的任何想法

谢谢!

4

2 回答 2

1

这是一些仅提取文章并删除 Instapaper 的东西(例如顶部和底部栏)的 JS 代码。

html.replace(/^[\s\S]*<div id="story">|<\/div>[^<]*<div class="bar bottom">[\s\S]*$/gim, '');

请注意,它可能会随着 Instapaper 的 HTML 输出的变化而变化。

于 2012-08-27T15:45:48.990 回答
0

使用解析器提取<body>. PHP 有一些内置的,但还有一些可能更容易使用。

如果$Bookmark_Text是有效的 HTML 文档,则应该这样做。

$dom = new DOMDocument();
$dom->loadHTML($Bookmark_Text);
$body = $dom->getElementsByTagName('body')->item(0);
$content = $body->ownerDocument->saveHTML($body);
于 2012-05-19T00:27:05.160 回答