求个正则表达式!!!!!!!
http://bbs.10jqka.com.cn/codelist.html
获取以上链接里面的部分内容
有深市、沪市、基金三种
我需要获取的是股票名称和股票代码
例如:
<li><a href="http://bbs.10jqka.com.cn/sh,600000,1" target="_blank" title="浦发银行">浦发银行 600000</a></li>
<li><a href="http://bbs.10jqka.com.cn/sh,600004,1" target="_blank" title="白云机场">白云机场 600004</a></li>
获取结果
浦发银行 600000
白云机场 600004
能直接获取成
$a=array("600000"=>"浦发银行")
这样的数组就更好了
在此先谢谢各位大神了
------解决方案--------------------preg_match_all('/<li><a[^>]+>(.+)<\/a><\/li>/isU',$s,$m);
print_r($m[1]);
------解决方案--------------------
$str=<<<STR
<li><a href="http://bbs.10jqka.com.cn/sh,600000,1" target="_blank" title="浦发银行">浦发银行 600000</a></li>
<li><a href="http://bbs.10jqka.com.cn/sh,600004,1" target="_blank" title="白云机场">白云机场 600004</a></li>
STR;
preg_match_all("/(\S+)\s+(\d+)/",preg_replace("/<\/?[^>]+?>/",'',$str),$out,PREG_SET_ORDER);
foreach($out as $a) list($s,$o[$i],$i)=$a;
print_r($o);
------解决方案--------------------<?php
$url ="http://bbs.10jqka.com.cn/codelist.html";
$str = file_get_contents($url);
preg_match_all('/<li><a[^>]+>([^\d]+)(\d{6})<\/a><\/li>/isU',$str,$match);
$a = array_combine(array_values($match[2]),array_values($match[1]));
print_r($a);
------解决方案--------------------$url ="http://bbs.10jqka.com.cn/codelist.html";
$str = file_get_contents($url);
$str = iconv('gbk', 'utf-8', $str);
preg_match_all('/<li><a[^>]+>([^\d]+)(\d{6})<\/a><\/li>/isU',$str,$match);
$a = array_combine(array_values($match[2]),array_values($match[1]));
print_r($a);