Bir dizi anahtarı olarak regex desen atama

0 Cevap php

Düzenli ifadeler bir dizi var ve ilk desen bulmak ikinci desen bulabilirsiniz devam etmek ve değer olarak bu atama daha sonra bir dizi anahtar olarak bu atamak için bir metin belgesi döngü çalışıyorum. Ben desen 1 rastlamak zaman ben her zaman için bir anahtar ve ben yeni bir anahtar rastlamak kadar değerler olarak o ilk tuşa atanacak izleyen tüm desen 2 Karşılaşmalar olarak atanmasını istiyoruz.

Metin belge yapısı:

Subject: sometext

Email: someemail@email.com

source: www.google.com www.stackoverflow.com www.reddit.com

Yani ifadeler bir dizi var:

$expressions=array(
                'email'=>'(\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b)',
                'url'=>'([A-Za-z][A-Za-z0-9+.-]{1,120}:[A-Za-z0-9/](([A-Za-z0-9$_.+!*,;/?:@&~=-])|%[A-Fa-f0-9]{2}){1,333}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*,;/?:@&~=%-]{0,1000}))?)'
               );

Benim metin belgesi döngü istiyoruz ve sonra değerleri olarak takip tüm adresler atamak için bir dizi anahtar olarak bu atama daha sonra e-posta adresini neticesinde, yukarıdaki metne çıkış olacaktır s:

array(
  'someemail@email.com' => array (
      0 => 'www.google.com',
      1 => 'www.stackoverflow.com',
      2 => 'www.reddit.com'
    )      

0 Cevap