Rumah > pembangunan bahagian belakang > tutorial php > 求个正则表达式!!!!!!!

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

WBOY
Lepaskan: 2016-06-23 14:19:02
asal
1102 orang telah melayarinya

正则表达式

http://bbs.10jqka.com.cn/codelist.html
获取以上链接里面的部分内容
有深市、沪市、基金三种
我需要获取的是股票名称和股票代码

例如: 
  • 浦发银行 600000

  • 白云机场 600004


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

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

    在此先谢谢各位大神了

    回复讨论(解决方案)

    preg_match_all('/<li><a[^>]+>(.+)<\/a><\/li>/isU',$s,$m);print_r($m[1]);
    Salin selepas log masuk

    $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);
    Salin selepas log masuk

    <?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);
    Salin selepas log masuk
    Salin selepas log masuk

    <?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);
    Salin selepas log masuk
    Salin selepas log masuk



    谢谢,你的这个可以用的
    请问下,要怎么把生成的这个数组由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);
    谢谢大大
  • sumber:php.cn
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan