检索远程页面的标题

时间:2011-10-17 07:33:34

标签: php html regex

我对检索远程页面标题的模式有一点问题,而相同模式给出的结果是样本。

preg_match_all('|<title>(.*)</title>|U',$this->data,$title);

用于其他网址并提供结果。 同时返回空数组

preg_match_all('|<title>(.*)</title>|U', $valD, $title);

可以告诉我这些线路有什么问题。

其中$ this-&gt; data和$ valD保存不同服务器的两个不同网址的内容。

请帮帮我。我试过它来解决它,但我没能解决它。 所以我请求大家告诉我我的错误。

谢谢。

2 个答案:

答案 0 :(得分:2)

如果您匹配HTML,那么您还应该期望大写标签。因此添加|i标志。

标题标记也可能包含换行符,这也是|s标志也应该出现的原因。

 preg_match_all('|<title>(.*)</title>|Uis', ...

答案 1 :(得分:0)

也许标题标签中有换行符,如下所示:

<title>
The page title
</title>

尝试

preg_match_all('|<title>[:space:]*(.*)[:space:]*</title>|U', $valD, $title);

代替。