如何从.html 页面中提取链接和标题?

新手上路,请多包涵

对于我的网站,我想添加一个新功能。

我希望用户能够上传他的书签备份文件(如果可能的话,从任何浏览器),这样我就可以将它上传到他们的个人资料中,而他们不必手动插入所有这些文件……

我唯一缺少的部分是从上传的文件中提取标题和 URL 的部分.. 任何人都可以提供线索从哪里开始或从哪里阅读?

使用搜索选项和( 如何从原始 HTML 文件中提取数据? )这是我最相关的问题,它没有谈论它..

我真的不介意它是使用 jquery 还是 php

非常感谢。

原文由 Toni Michel Caubet 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 369
2 个回答

谢谢大家,我知道了!

最终代码:

 $html = file_get_contents('bookmarks.html');
//Create a new DOM document
$dom = new DOMDocument;

//Parse the HTML. The @ is used to suppress any parsing errors
//that will be thrown if the $html string isn't valid XHTML.
@$dom->loadHTML($html);

//Get all links. You could also use any other tag name here,
//like 'img' or 'table', to extract other tags.
$links = $dom->getElementsByTagName('a');

//Iterate over the extracted links and display their URLs
foreach ($links as $link){
    //Extract and show the "href" attribute.
    echo $link->nodeValue;
    echo $link->getAttribute('href'), '<br>';
}

这将向您显示分配的 文本和 .html 文件中所有链接的 href

再次,非常感谢。

原文由 Toni Michel Caubet 发布,翻译遵循 CC BY-SA 4.0 许可协议

假设存储的链接在 html 文件中,最好的解决方案可能是使用 html 解析器,例如 PHP Simple HTML DOM Parser (我自己从未尝试过)。 (另一种选择是使用基本字符串搜索或正则表达式进行搜索,您可能 永远不 应该使用正则表达式来解析 html)。

使用解析器读取 html 文件后,使用它的功能找到 a 标签:

从教程:

 // Find all links
foreach($html->find('a') as $element)
       echo $element->href . '<br>';

原文由 Simon Groenewolt 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏