$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;
$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
我简单加了点样式,现在看起来是这样的:http://www.shwzq.com/regex.html因为经常有人问一些常用的正则,所以就打算把regexbuddy的库弄出来作成web版。不过现在这个看起来还是不好用,搜索只能用Crtl F
$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);
}
}先写这么多吧。读出了表上的数据,你想怎么展示?