Youtube PHP bağlantılar Ayrıştırma

1 Cevap php
34|http://v19.lscache8.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id,expire,ip,ipbits,itag,algorithm,burst,factor,oc:U0dWRlZUVF9FSkNNNl9OTlhF&fexp=902210&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1271696400&key=yt1&signature=583C4A85FA65B6B9782B8B4B5E1F1C08D9EADCA3.5B28033470580BC52EB92A1CB71DBAFE0C4A2A8D&factor=1.25&id=cf3cec58d98073dc,5|http://v24.lscache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id,expire,ip,ipbits,itag,algorithm,burst,factor,oc:U0dWRlZUVF9FSkNNNl9OTlhF&fexp=902210&algorithm=throttle-factor&itag=5&ipbits=0&burst=40&sver=3&expire=1271696400&key=yt1&signature=7B74075BAA26B05A028B2219FD52D7A45197F555.A8878413DC7BB3FFAB0C9219CBD3FCDD7221B440&factor=1.25&id=cf3cec58d98073dc

Nasıl bu metni ayrıştırmak için:

34
http://... (before ,5|)
5
http://... to end

Daha önce bu kadar yapıldı:

if (preg_match_all('#|(.*?),#', $urlmap, $b)) {
}

Baaaaad İngilizce için üzgünüm

1 Cevap

Kullanmayı deneyin:

if(preg_match_all('#\d+\|(.*?),#',$urlmap,$b))

Orada bir numara | biz dikkate almak gerekir ve aynı zamanda | regex bir meta karakter önce olduğunu, bu yüzden onu kaçmak gerekir. Ama bu size tam bir URL vermek değil.

: Yerine desen split giriş digits| olarak yapabilirsiniz

$arr = preg_split('/\d+\|/',$input,-1, PREG_SPLIT_NO_EMPTY  );

EDIT:

Working example