正则表达式获取页面标题

Jar*_*ari 4 php regex

这个问题有很多答案,但不是一个完整的问题:

使用一个正则表达式,如何从中提取页面标题<title>Page title</title>

在其他几种情况下,如何键入标题标签,例如:

<TITLE>Page title</TITLE>

<title>
 Page title</title>
<title>
 Page title
</title>

<title lang="en-US">Page title</title>
Run Code Online (Sandbox Code Playgroud)

......或上述任何组合.

它可以在自己的行上或在其他标签之间:

<head>
  <title>Page title</title>
</head>

<head><title>Page title</title></head>
Run Code Online (Sandbox Code Playgroud)

提前感谢您的帮助.

UDPATE:因此,正则表达式方法可能不是最佳解决方案.哪种基于PHP的HTML解析器可以处理HTML格式良好(或不太好)的所有场景?

更新2:sp00m的正则表达式(/sf/answers/945721521/)似乎在所有情况下都有效.如果需要,我会回到这里.

sp0*_*00m 8

请改用HTML解析器.但在以下情况下:

<title[^>]*>(.*?)</title>
Run Code Online (Sandbox Code Playgroud)

演示