我对检索远程页面标题的模式有一点问题,而相同模式给出的结果是样本。
preg_match_all('|<title>(.*)</title>|U',$this->data,$title);
用于其他网址并提供结果。 同时返回空数组
preg_match_all('|<title>(.*)</title>|U', $valD, $title);
可以告诉我这些线路有什么问题。
其中$ this-&gt; data和$ valD保存不同服务器的两个不同网址的内容。
请帮帮我。我试过它来解决它,但我没能解决它。 所以我请求大家告诉我我的错误。
谢谢。
答案 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);
代替。