Как я могу получить текст внутри двух вертикальных полос с помощью регулярного выражения PHP

Я пытаюсь получить текст внутри двух вертикальных полос строки 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);

Но я не думаю, что это правильный путь.

2

Решение

Вы можете использовать это регулярное выражение

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

проверить демо Вот

Я заметил, что у вас есть этот текст [[Image:Flag of Myanmar.png|25px]]

так что вы можете использовать это регулярное выражение, потому что | в Myanmar.png|25px может вызвать проблемы в вашем случае

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

проверить это демо Вот

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]