Home >Backend Development >PHP Tutorial >php xml 正则表达式 数组的应用
接收到类似下面一个xml文件,想把文件的内容分成对应的数组 输出出来,应该怎么处理
比如:
<?xml version="1.0" encoding="UTF-8" ?> - <entry xmlns="http://www.w3.org/2005/Atom" xmlns:db="http://www.douban.com/xmlns/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/"> <id>http://api.douban.com/book/subject/10506822</id> <title>我是个算命先生</title> <category scheme="http://www.douban.com/2007#kind" term="http://www.douban.com/2007#book" /> - <author> <name>易之</name> </author> <link href="http://api.douban.com/book/subject/10506822" rel="self" /> <link href="http://book.douban.com/subject/10506822/" rel="alternate" /> <link href="http://img3.douban.com/spic/s8993763.jpg" rel="image" /> <link href="http://m.douban.com/book/subject/10506822/" rel="mobile" /> <summary>《我是个算命先生》内容简介:算命这个行当,萌芽于先秦,发展于隋唐,泛滥于明清;汉代张良、三国诸葛亮、明代刘伯温,不同时期的代表人物,都在手相、面相、八字、八卦中辨认着人类的命运。祖爷,生于1902年,卒年不详,民国时期名震大江南北的算命群体“江相派”掌门人。《沪报》将他与袁树珊、韦千里、徐乐吾并称为“民国四大算命宗师”,所谓“南袁北韦东乐吾,三仙归来问祖爷”。祖爷15岁开始为人算命,每算必中,令人咋舌;而后叱咤江湖30多年,留下无数不可思议的神算传奇与悬念;乃至于中原大战之前,山西军阀阎锡山也三顾茅庐,终于求得祖爷一卦。祖爷总说,看的是面相,算的是八字,捕捉的是问卦人脸上不断闪烁的欲望:贪婪、虚荣、妒忌、恐惧、傲慢??人的命运,确实写在脸上。祖爷一生几乎从未失手,唯一没有算到的,却是他自己的命运;面对凄凉晚景,他认为是自己泄露了太多天机…… 翻开《我是个算命先生》,让一个82岁的算命老先生带您见识算命背后的古老智慧与江湖猫腻。 海报:</summary> <db:attribute name="isbn10">7507424758</db:attribute> <db:attribute name="isbn13">9787507424751</db:attribute> <db:attribute name="title">我是个算命先生</db:attribute> <db:attribute name="pages">245</db:attribute> <db:attribute name="author">易之</db:attribute> <db:attribute name="price">29.90元</db:attribute> <db:attribute name="publisher">中国城市出版社</db:attribute> <db:attribute name="binding">平装</db:attribute> <db:attribute name="pubdate">2012-2</db:attribute> <db:attribute name="author-intro">易之,男,山东即墨人。8岁接触道家学派,12岁跟随当地异人合玄师傅修习四柱,大学师从国内知名玄学教授段景莲。现为中华周易协会常务理事。</db:attribute> <db:tag count="585" name="算命" /> <db:tag count="463" name="小说" /> <db:tag count="197" name="骗局" /> <db:tag count="137" name="社会分析" /> <db:tag count="129" name="黑道学" /> <db:tag count="112" name="社会" /> <db:tag count="106" name="文化" /> <db:tag count="89" name="中国" /> <gd:rating average="7.0" max="10" min="0" numRaters="971" /> </entry>
前面有个大侠 给了一段代码:
preg_match_all('/>(.+)',$s,$m);
print_r($m[1]);
这段代码可以把我要的内容输出出来,我想的是把他对应起来。
$isbn10="7507424758";
$pages="245";
还有个问题 就是(类似
$s=<<<html<db:attribute name="isbn10">7507424758</db:attribute> <db:attribute name="isbn13">9787507424751</db:attribute> <db:attribute name="title">我是个算命先生</db:attribute> <db:attribute name="pages">245</db:attribute> <db:attribute name="author">易之</db:attribute> <db:attribute name="price">29.90元</db:attribute> <db:attribute name="publisher">中国城市出版社</db:attribute> <db:attribute name="binding">平装</db:attribute>html;preg_match_all('/(name="(.+)")?>(.+)</mU',$s,$m);extract(array_combine($m[2],$m[3]));var_dump($isbn10,$title);