首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用<title>提取<title>和</title>之间的字符串

使用<title>提取<title>和</title>之间的字符串
EN

Stack Overflow用户
提问于 2011-05-10 18:52:15
回答 3查看 465关注 0票数 1

可能的重复: (PHP5)使用PHP或Regex从HTML中提取标题标记和RSS地址 使用DOM获取网站的标题

我试图在服务器上运行100个不同的html文件,并提取标题以供在另一个php文件中使用。

供参考:

代码语言:javascript
复制
    <title>Generic Test Page</title>

我需要的是一个函数,它将返回字符串“”,并将其放入一个全局变量中。

我现在所做的只是将文件读入一个名为$lines的数组中。Foreach $lines作为$line,我测试字符串< title> .但是如何只提取>和< /title之间的内容呢?

我的问题是,有时原始开发人员决定详细说明标题:< title name=title class=title1>,或者他将其放在三行而不是一行。世界上有什么?所以我不能只去掉前七个字符和最后八个字符。这太好了..。

谢谢你!!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-10 18:57:19

您需要使用类似于PHP简单Dom解析器的东西

代码语言:javascript
复制
function get_page_title($html_file) {
  $html = file_get_html($html_file);
  $title = $html->find('title', 0)->plaintext;
  return $title;
}
票数 4
EN

Stack Overflow用户

发布于 2011-05-10 19:33:04

$line =每一行。

代码语言:javascript
复制
 $pattern ='/<title[^>]*>(.*?)<\/title>/is';
 if( preg_match($pattern,$line,$match) )
   return trim($match[1]); # your title !

或者只需在整个html上使用模式并返回匹配。

或者用一些垃圾的建议。

票数 2
EN

Stack Overflow用户

发布于 2011-05-10 18:57:45

您应该使用正则表达式来提取内部部分。更多信息这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5954911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档