欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求个正则表达式!!!!!!!

程序员文章站 2023-12-23 11:58:40
...
正则表达式 http://bbs.10jqka.com.cn/codelist.html
获取以上链接里面的部分内容
有深市、沪市、基金三种
我需要获取的是股票名称和股票代码

例如:
  • 浦发银行 600000

  • 白云机场 600004


  • 获取结果
    浦发银行 600000
    白云机场 600004

    能直接获取成
    $a=array("600000"=>"浦发银行")
    这样的数组就更好了

    在此先谢谢各位大神了

    回复讨论(解决方案)

    preg_match_all('/
  • ]+>(.+)/isU',$s,$m);print_r($m[1]);

    $str=浦发银行 600000
  • 白云机场 600004
  • 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);

    ]+>([^\d]+)(\d{6})/isU',$str,$match);$a = array_combine(array_values($match[2]),array_values($match[1]));print_r($a);

    ]+>([^\d]+)(\d{6})/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})/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})/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})/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})/isU',$str,$match);
    改为
    preg_match_all('/
  • ]+>([^\d]+)([036]\d{5})/isU',$str,$match);

    preg_match_all('/

  • ]+>([^\d]+)(\d{6})/isU',$str,$match);
    改为
    preg_match_all('/
  • ]+>([^\d]+)([036]\d{5})/isU',$str,$match);
    谢谢大大
  • 上一篇:

    下一篇: