如何使用PHP从HTML文件中获取元数据?
作者:互联网
我正在尝试在我的网站上创建一个功能,以便用户可以上传链接,例如Digg.我有一些代码可以从用户上传到我的网站的URL中获取HTML源代码,并将其存储在.txt文件中.然后我想抓取标签中的内容
<meta name="content" description="GRAB THIS">
假设此标签存在.有时它可以工作,但其他时候却不起作用,即使该特定网页的源代码包含的代码完全与我在代码中指定的一样.我注意到,如果“ GRAB THIS”内容包含html实体(&等),它似乎无法正常工作.如果您对如何使用它有任何想法,请告诉我.这是我的代码:
$html_data = file_get_contents( $path_to_txt_file_that_contains_html );
preg_match( '#<meta name="description" content="(.+?)">#si', $html_data, $tor;
$tor = str_replace ( '<meta name="description" content="' , "", $tor[0] );
$tor = str_replace ( '">', "", $tor );
有时$tor仍然包含
<meta name="description" content="CONTENT"
但没有结束> ;,因此将代码放入mySQl数据库后,代码就会中断.关于我在做什么错的任何想法吗?提前感谢您的帮助!
解决方法:
实际上非常简单.
PHP提供了自己的内置解决方案:http://php.net/manual/en/function.get-meta-tags.php
标签:str-replace,file-get-contents,preg-match,html,php 来源: https://codeday.me/bug/20191101/1984550.html