<?php $str = file_get_contents("http://mil.news.sina.com.cn"); // 军情热点 $reg = '#【军情热点】.*<a.*href="(.*).*>(.*)</a>"#iUs'; preg_match_all($reg,$str,$m); echo "<pre class="brush:php;toolbar:false">"; print_r($m);?>
ソースコードをチェックして、どこが違うのか確認してください
彼のエンコードは gb2312 ですが、あなたのエンコードはどうですか?
彼のエンコーディングは gb2312 ですが、あなたのエンコーディングは何ですか? また、PHPエンコードをGB2312マッチング結果アレイに変更しました(
[0] =&gt;配列
(
)
[1] =&gt; array ;/font> )
[1] => 配列
(
$str = file_get_contents("http://mil.news.sina.com.cn");// 军情热点$reg = '#【军情热点】.+?href=(\S+)#is';preg_match_all($reg,$str,$m);print_r($m);
$str = file_get_contents("http://mil.news.sina.com.cn");// 军情热点$reg = '#【军情热点】.+?href=(\S+)#is';preg_match_all($reg,$str,$m);print_r($m);
このように書いてみました。一見すると正しくありません
<?php$str = file_get_contents("http://mil.news.sina.com.cn"); $reg = '#(?<=【军情热点】).*<a.+href="(.+)".+>(.+)</a>(?=名家专栏)#isU'; preg_match_all($reg,$str,$m); echo "<pre class="brush:php;toolbar:false">";print_r($m); ?>
<?php$str = file_get_contents("http://mil.news.sina.com.cn"); $reg = '#(?<=【军情热点】).*<a.+href="(.+)".+>(.+)</a>(?=名家专栏)#isU'; preg_match_all($reg,$str,$m); echo "<pre class="brush:php;toolbar:false">";print_r($m); ?>