dongpai6567
2015-06-07 06:26
浏览 322
已采纳

如何使用php regex将文本放在两个垂直条内

I'm trying to get the text inside two vertical bars of json string.I'm parsing wikipedia data and new to json.The structure is weird.Any help?

 {{Infobox အတ္ထုပ္ပတ္တိ
 | အမည် =စိုးသူ 
 | ဓာတ်ပုံ =Soe Thu.jpg
 | သက်တမ်း = 
 | မွေးသက္ကရာဇ် = [[နိုဝင်ဘာ]] ၃၀ ရက်
 | အမည်ရင်း =စိုးသူလွင် 
 | မိဘအမည် =ဦးခင်မောင်လွင်+ဒေါ်ခင်သူဇာ
 | မွေးဖွားရာဒေသ= 
 | နိုင်ငံသား =[[Image:Flag of Myanmar.png|25px]] မြန်မာ
 | လူမျိုး =ဗမာ
 | ကိုးကွယ်သည့်ဘာသာ =ဗုဒ္ဓဘာသာ
 | ပညာအရည်အချင်း = M.B;B.S
 | အလုပ်အကိုင် = ဆရာဝန် ရုပ်ရှင်သရုပ်ဆောင်၊ အဆိုတော်
 | ကြင်ဖော် = ခင်မြမြဝတ်မှုန်ဆွေ
 | သားသမီး =
 | ထင်ပေါ်ကျော်ကြားမှု =အကယ်ဒမီရ မင်းသား
 | ထင်ရှားသည့်လက်ရာများ=
 | ရရှိခဲ့သည့်ဘွဲ့တံဆိပ်များ=မြန်မာ့ ရုပ်ရှင် ထူးချွန်ဆု
 | ကွယ်လွန်ရက် =
 | ကွယ်လွန်ရာဒေသ=
 | လက်မှတ်=
 | ကွန်ယက် =http://www.facebook.com/pages/Soe-Thu
  }}

I've tried this in php.

 $result=explode("|",$str);
  var_dump($result);

But I don't think it is a correct way.

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dpkk8687 2015-06-07 06:33
    已采纳

    you can use this regex

    (?<=\|)[^|]+(?=\|)
    

    check the demo Here

    I noticed that you have this text [[Image:Flag of Myanmar.png|25px]]

    so you can use this regex also , because | in Myanmar.png|25px may cause problems in your case

    (?<=\|).+?(?=\|\W)
    

    check this Demo Here

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题