各位,功德无量的机会~http://www.shwzq.com/RegexBuddy.xml这是RegexBuddy的正则库的内容,提供了常用的几乎所有正则的写法。XML格式,我现在放在我自己的网站上,希望有人能整理出来,做成Web版,方便大家使用。挂在您自己的网站也是增加流量呀请各位帮个忙我实在是很怕xml~

解决方案 »

  1.   

    希望有人能把这个做成好用的Web版。
      

  2.   

    <?PHP $s = simplexml_load_file("http://www.shwzq.com/RegexBuddy.xml");
    $s  = $s->libraryfile->action;
    for($i=0;$i<count($s);$i++){
    echo $i."=====";
    echo $s[$i]->regex; //正则
    echo "<br>";
    //echo $s[$i]->description; //描述信息
    //echo $s[$i]->testdata; //测试数据
    }
    //print_r($s);?>运行就可以去得到正则的数据和描述信息了
    可以参考http://blog.studclub.cn/post/238.html
      

  3.   


    我简单加了点样式,现在看起来是这样的:http://www.shwzq.com/regex.html因为经常有人问一些常用的正则,所以就打算把regexbuddy的库弄出来作成web版。不过现在这个看起来还是不好用,搜索只能用Crtl F
      

  4.   

    貌似导出来的这个XML文件的testdata 是有问题的。有RegexBuddy的可以去看看,我不知道那是怎么编码的而且我觉得如果把介绍之类的翻译成中文更好用。反正现在转成Html的问题已经基本解决了。谢谢各位!!
      

  5.   

    utf16le to utf8 失败;(
      

  6.   

    iconv("UTF-16LE","UTF-8" , $str)可以么?最近俺实在太懒了。。
      

  7.   

    LZ是用perl 的还是 php??
      

  8.   


    $fp = fopen("http://www.shwzq.com/RegexBuddy.xml","r");
    $content = "";
    $data = "";
    while ($content=fread($fp,4096))
    {
        $data.=$content;
    }
    fclose($fp);$xml = new xml();
    print_r($xml->readXML($data));
    //echo $xml->createTable();
    $xml->destroy();class xml
    {
        var $parser;                  //XML容器
        var $xmlArray = array();      //返回的xml数组
        var $action = false;          
        var $regex = false;
        var $replace = false;
        var $description = false;
        var $testdata = false;
        var $parameter = false;
        var $array_num = -1;          //当前数组数字KEY值
        var $table;
        
        function xml()
        {
            $this->parser = xml_parser_create('UTF-8');
            xml_set_object($this->parser,$this);
            xml_parser_set_option($this->parser,XML_OPTION_CASE_FOLDING,0);
            xml_set_element_handler($this->parser,"open_tag","close_tag");
            xml_set_character_data_handler($this->parser,"get_data");
        }
        
        
        function readXml($data)     //读取XML
        {
            xml_parse($this->parser,$data);
            return $this->xmlArray;
        }    function open_tag($parser,$element_name,$element_attr)
        {
            switch($element_name)
            {
                case "action" :
                    $this->array_num ++;
                    $this->xmlArray["action"][] = $element_attr;
                    $this->action = true;
                    break;
                case "regex" :
                    $this->xmlArray["regex"][] = $element_attr;
                    $this->regex = true;
                    break;
                case "replace" :
                    $this->xmlArray["replace"][] = $element_attr;
                    $this->replace = true;
                    break;
                case "description" :
                    $this->xmlArray["description"][] = $element_attr;
                    $this->description = true;
                    break;
                case "testdata" :
                    $this->xmlArray["testdata"][] = $element_attr;
                    $this->testdata = true;
                    break;
                case "parameter" :
                    $this->xmlArray["parameter"][] = $element_attr;
                    $this->parameter = true;
                    break;
            }
        }    function close_tag($parser,$element_name)
        {    }    function get_data($parser,$data)
        {
            if($this->action)
            {
                $this->action = false;
            }        if($this->regex)
            {
                $this->xmlArray["regex"][$this->array_num]["myvalue"] = $data;
                $this->regex = false;
            }        if($this->replace)
            {
                $this->xmlArray["replace"][$this->array_num]["myvalue"]= $data;
                $this->replace = false;
            }        if($this->description)
            {
                $this->xmlArray["description"][$this->array_num]["myvalue"]= $data;
                $this->description = false;
            }        if($this->testdata)
            {
                $this->xmlArray["testdata"][$this->array_num]["myvalue"]= $data;
                $this->testdata = false;
            }        if($this->parameter)
            {
                
                    $this->xmlArray["parameter"][$this->array_num]["myvalue"][]= $data;
                    $this->parameter = false;
                
            }
        }    function destroy()
        {
            xml_parser_free($this->parser);
        }
    }先写这么多吧。读出了表上的数据,你想怎么展示?