Я пытаюсь получить текст внутри двух вертикальных полос строки json. Я анализирую данные из Википедии и плохо знаком с json. Структура странная.
{{Infobox အတ္ထုပ္ပတ္တိ
| အမည် =စိုးသူ
| ဓာတ်ပုံ =Soe Thu.jpg
| သက်တမ်း =
| မွေးသက္ကရာဇ် = [[နိုဝင်ဘာ]] ၃၀ ရက်
| အမည်ရင်း =စိုးသူလွင်
| မိဘအမည် =ဦးခင်မောင်လွင်+ဒေါ်ခင်သူဇာ
| မွေးဖွားရာဒေသ=
| နိုင်ငံသား =[[Image:Flag of Myanmar.png|25px]] မြန်မာ
| လူမျိုး =ဗမာ
| ကိုးကွယ်သည့်ဘာသာ =ဗုဒ္ဓဘာသာ
| ပညာအရည်အချင်း = M.B;B.S
| အလုပ်အကိုင် = ဆရာဝန် ရုပ်ရှင်သရုပ်ဆောင်၊ အဆိုတော်
| ကြင်ဖော် = ခင်မြမြဝတ်မှုန်ဆွေ
| သားသမီး =
| ထင်ပေါ်ကျော်ကြားမှု =အကယ်ဒမီရ မင်းသား
| ထင်ရှားသည့်လက်ရာများ=
| ရရှိခဲ့သည့်ဘွဲ့တံဆိပ်များ=မြန်မာ့ ရုပ်ရှင် ထူးချွန်ဆု
| ကွယ်လွန်ရက် =
| ကွယ်လွန်ရာဒေသ=
| လက်မှတ်=
| ကွန်ယက် =http://www.facebook.com/pages/Soe-Thu
}}
Я пробовал это в php.
$result=explode("|",$str);
var_dump($result);
Но я не думаю, что это правильный путь.
Вы можете использовать это регулярное выражение
(?<=\|)[^|]+(?=\|)
проверить демо Вот
Я заметил, что у вас есть этот текст [[Image:Flag of Myanmar.png|25px]]
так что вы можете использовать это регулярное выражение, потому что |
в Myanmar.png|25px
может вызвать проблемы в вашем случае
(?<=\|).+?(?=\|\W)
проверить это демо Вот
Других решений пока нет …