可能重复:
(PHP5) Extracting a title tag and RSS feed address from HTML using PHP DOM or Regex
Grabbing title of a website using DOM
我正在尝试在我的服务器上运行一百个不同的html文件,并提取标题以便在另一个php文件中使用。
供参考:
<title>Generic Test Page</title>
我需要的是一个函数,它将返回字符串“Generic Test Page”并将其粘贴到全局变量中。
我现在正在做的只是将文件读入名为$ lines的数组中。 Foreach $行为$ line,我正在测试字符串&lt;标题&GT; ...但是我如何仅提取&gt;之间的内容。和&lt; /标题?
我的麻烦在于,有时原始开发者决定详细说明标题:&lt;标题名称=标题类=标题1&gt;,或者他将它放在三行而不是一行。世界上有什么?所以我不能只删除前七个字符和后八个字符。哪个会这么好......
谢谢!
答案 0 :(得分:4)
function get_page_title($html_file) {
$html = file_get_html($html_file);
$title = $html->find('title', 0)->plaintext;
return $title;
}
答案 1 :(得分:2)
$ line =每一行。
$pattern ='/<title[^>]*>(.*?)<\/title>/is';
if( preg_match($pattern,$line,$match) )
return trim($match[1]); # your title !
或者只使用整个html上的模式并返回匹配。
或使用scurker建议的东西。
答案 2 :(得分:0)
您应该使用正则表达式来提取内部部分。更多信息here