求个正则表达式!!!!!!!
时间:2021-07-01 10:21:17
帮助过:6人阅读
正则表达式 http://bbs.10jqka.com.cn/codelist.html
获取以上链接里面的部分内容
有深市、沪市、基金三种
我需要获取的是股票名称和股票代码
例如:
浦发银行 600000 白云机场 600004 获取结果
浦发银行 600000
白云机场 600004
能直接获取成
$a=array("600000"=>"浦发银行")
这样的数组就更好了
在此先谢谢各位大神了
回复讨论(解决方案)
preg_match_all('/
]+>(.+)<\/a><\/li>/isU',$s,$m);print_r($m[1]);
$str=<<浦发银行 600000
白云机场 600004STR; 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);
]+>([^\d]+)(\d{6})<\/a><\/li>/isU',$str,$match);$a = array_combine(array_values($match[2]),array_values($match[1]));print_r($a);
]+>([^\d]+)(\d{6})<\/a><\/li>/isU',$str,$match);$a = array_combine(array_values($match[2]),array_values($match[1]));print_r($a);
谢谢,你的这个可以用的
请问下,要怎么把生成的这个数组由gbk的转成utf8的?
试了几种都转失败了
$url ="http://bbs.10jqka.com.cn/codelist.html";
$str = file_get_contents($url);
$str = iconv('gbk', 'utf-8', $str);
preg_match_all('/
]+>([^\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('/
]+>([^\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('/
]+>([^\d]+)(\d{6})<\/a><\/li>/isU',$str,$match);
$a = array_combine(array_values($match[2]),array_values($match[1]));
print_r($a);
请问下,要怎么把$a数组里面下标前缀为0,3,6的保存下来,其余的给清除掉
有什么简单的方法吗? 也就是只要深市和沪市的数据,基金的不要
preg_match_all('/
]+>([^\d]+)(\d{6})<\/a><\/li>/isU',$str,$match);
改为
preg_match_all('/]+>([^\d]+)([036]\d{5})<\/a><\/li>/isU',$str,$match);
preg_match_all('/
]+>([^\d]+)(\d{6})<\/a><\/li>/isU',$str,$match);
改为
preg_match_all('/]+>([^\d]+)([036]\d{5})<\/a><\/li>/isU',$str,$match);
谢谢大大