Regex sorun: değişken uzunluk desenle eşleşen olamaz

0 Cevap php

Ben bir değişken uzunlukta şey maç için, () preg_match_all kullanarak, regex ile ilgili bir sorun var.

Ben ile geldi ne kelime 'Trafik Sıkışıklığı' bu regex desen sonra ne maç için çalışıyorum trafik durumdur:

Congestion\s*:\s*(?P<congestion>.*)

* Her şeyi maç olacak beri. Bununla birlikte, tüm yol tüm konunun sonuna kadar ilk örneğini özü olacaktır. Ama bu da, ben 3 örnekleri gibi ayrı ayrı maç istiyorum istediğim değil.

Tıkanıklık arkasında kelimeler değişken uzunlukta olabilir Şimdi bu yana, gerçekten kaç kelime ve alanlarda daha sıkı \ w * \ s * \ w * maç vs ile gelip de arasında olduğu tahmin edemez

Ben buradan devam konusunda herhangi bir ipucu var mı?

Highway : Highway 26
Datetime : 18-Oct-2010 05:18 PM
Congestion : Traffic is slow from Smith St to Alice Springs St

Highway : Princes Highway
Datetime : 18-Oct-2010 05:18 PM
Congestion : Traffic is slow at the Flinders St / Elizabeth St intersection

Highway : Eastern Freeway
Datetime : 18-Oct-2010 05:19 PM
Congestion : Traffic is slow from Prince St to Queen St

EDIT FOR CLARITY

Burada bu çok güzel biçimlendirilmiş metinler, aslında çok kötü biçimlendirilmiş html e-posta yoluyla alınır. Bu rastgele hattı burada kırar ve orada örneğin ": Trafik \ n Prens \ nSt Queen St yavaş Tıkanıklık" içeriyor.

E-postaları işlerken Yani, hiçbir satır sonu ile bir çok uzun tek satır bir dizeye json_encode () hepsini html kodları ve rastgele satır sonlarını çıkardı ve ...

0 Cevap