Heim > Backend-Entwicklung > PHP-Tutorial > 求个正则表达式!!!!!!!

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

WBOY
Freigeben: 2016-06-23 14:19:02
Original
1102 Leute haben es durchsucht

正则表达式

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]);
    Nach dem Login kopieren

    $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);
    Nach dem Login kopieren

    <?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);
    Nach dem Login kopieren
    Nach dem Login kopieren

    <?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);
    Nach dem Login kopieren
    Nach dem Login kopieren



    谢谢,你的这个可以用的
    请问下,要怎么把生成的这个数组由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);
    谢谢大大
  • Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage