相关文章推荐
温文尔雅的领带  ·  巴菲特:我们并不那么秘密的武器_手机新浪网·  1 年前    · 
坚强的伤疤  ·  勇于自我革命 不断增强“四自能力”---党建网·  1 年前    · 
傲视众生的苦咖啡  ·  vsto excel ...·  1 年前    · 
急躁的烈酒  ·  OpenCV错误:断言失败(a_size.w ...·  1 年前    · 
知识渊博的豆芽  ·  quill富文本编辑器在angular中的使 ...·  1 年前    · 
Code  ›  php - 如何从.html 页面中提取链接和标题? -
html代码
https://segmentfault.com/q/1010000042656988
逆袭的菠萝
1 年前
segmentfault segmentfault
注册登录
问答 博客 标签 活动
发现
✓ 使用“Bing”搜本站 使用“Google”搜本站 使用“百度”搜本站 站内搜索
注册登录
  1. 首页
  2. 问答
  3. Stack Overflow 翻译
  4. 问答详情

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

社区维基
1
发布于
2022-10-20
新手上路,请多包涵

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

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

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

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

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

非常感谢。

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

Stack Overflow 翻译 php html string hyperlink web-crawler
阅读 196
2 个回答
得票 最新
社区维基
1
发布于
2022-10-20
✓ 已被采纳

谢谢大家,我知道了!

最终代码:

 $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 许可协议

社区维基
1
发布于
2022-10-20

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

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

 // Find all links
foreach($html->find('a') as $element)
       echo $element->href . '<br>';
 
推荐文章
温文尔雅的领带  ·  巴菲特:我们并不那么秘密的武器_手机新浪网
1 年前
坚强的伤疤  ·  勇于自我革命 不断增强“四自能力”---党建网
1 年前
傲视众生的苦咖啡  ·  vsto excel 隐藏的列获取不到值解决_vsto editboxt数据不能取得-CSDN博客
1 年前
急躁的烈酒  ·  OpenCV错误:断言失败(a_size.width == len)-腾讯云开发者社区-腾讯云
1 年前
知识渊博的豆芽  ·  quill富文本编辑器在angular中的使用-掘金
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号