当我们想要获取一个手机页面的源代码的时候,使用file_get_contents可能不会得到我们想要的结果,因为,当使用file_get_contents的时候,默认采用了pc进行访问,所以可能会导致获取的实际是pc的源代码。所以为了获取手机端的源代码。我们应该使用curl。

<span style="color:#808080;background-color:#f7faff;font-style:italic;">//</span><span style="color:#808080;background-color:#f7faff;font-style:italic;font-family:'宋体';">手机浏览器访问<br /></span><span style="color:#000080;background-color:#f7faff;font-weight:bold;">public function </span><span style="background-color:#f7faff;">getMobileURLToData(</span><span style="color:#660000;background-color:#f7faff;">$url</span><span style="background-color:#f7faff;">)<br /></span><span style="background-color:#f7faff;">{<br /></span><span style="background-color:#f7faff;">    </span><span style="color:#660000;background-color:#f7faff;">$HTTP_Server </span><span style="background-color:#f7faff;">= </span><span style="color:#660000;background-color:#f7faff;">$url</span><span style="background-color:#f7faff;">;<br /></span><span style="background-color:#f7faff;">    </span><span style="color:#660000;background-color:#f7faff;">$ch </span><span style="background-color:#f7faff;">= </span><span style="background-color:#f7faff;font-style:italic;">curl_init</span><span style="background-color:#f7faff;">();<br /></span><span style="background-color:#f7faff;">    </span><span style="background-color:#f7faff;font-style:italic;">curl_setopt</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$ch</span><span style="background-color:#f7faff;">, </span><span style="color:#660e7a;background-color:#f7faff;font-weight:bold;font-style:italic;">CURLOPT_URL</span><span style="background-color:#f7faff;">, </span><span style="color:#660000;background-color:#f7faff;">$HTTP_Server</span><span style="background-color:#f7faff;">);<br /></span><span style="background-color:#f7faff;">    </span><span style="background-color:#f7faff;font-style:italic;">curl_setopt</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$ch</span><span style="background-color:#f7faff;">, </span><span style="color:#660e7a;background-color:#f7faff;font-weight:bold;font-style:italic;">CURLOPT_RETURNTRANSFER</span><span style="background-color:#f7faff;">, </span><span style="color:#0000ff;background-color:#f7faff;">1</span><span style="background-color:#f7faff;">);<br /></span><span style="background-color:#f7faff;">    </span><span style="background-color:#f7faff;font-style:italic;">curl_setopt</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$ch</span><span style="background-color:#f7faff;">, </span><span style="color:#660e7a;background-color:#f7faff;font-weight:bold;font-style:italic;">CURLOPT_CONNECTTIMEOUT</span><span style="background-color:#f7faff;">, </span><span style="color:#0000ff;background-color:#f7faff;">30</span><span style="background-color:#f7faff;">);<br /></span><span style="background-color:#f7faff;">    </span><span style="background-color:#f7faff;font-style:italic;">curl_setopt</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$ch</span><span style="background-color:#f7faff;">, </span><span style="color:#660e7a;background-color:#f7faff;font-weight:bold;font-style:italic;">CURLOPT_USERAGENT</span><span style="background-color:#f7faff;">, </span><span style="color:#008000;background-color:#f7faff;font-weight:bold;">"Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; MI 2S Build/JRO03L) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 XiaoMi/MiuiBrowser/1.0"</span><span style="background-color:#f7faff;">);<br /></span><span style="background-color:#f7faff;">    </span><span style="color:#660000;background-color:#f7faff;">$res </span><span style="background-color:#f7faff;">= </span><span style="background-color:#f7faff;font-style:italic;">curl_exec</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$ch</span><span style="background-color:#f7faff;">);<br /></span><span style="background-color:#f7faff;">    </span><span style="background-color:#f7faff;font-style:italic;">curl_close</span><span style="background-color:#f7faff;">(</span><span style="color:#660000;background-color:#f7faff;">$ch</span><span style="background-color:#f7faff;">);<br /></span><span style="background-color:#f7faff;">    </span><span style="color:#000080;background-color:#f7faff;font-weight:bold;">return </span><span style="color:#660000;background-color:#f7faff;">$res</span><span style="background-color:#f7faff;">;<br /></span><span style="background-color:#f7faff;">}</span>

调用这个函数,就会得到手机url的源代码,所以有些问题,我们要从源头一点点分析,才能找到根源,否则一直在pc的源代码里用正则匹配,会一直以为自己的正则写的有问题,其实是你的源代码本身就有问题了。