-1

テーブルの列情報に次のデータがあります

array( 'Email: Customer One <customer1@yahoo.com>. By employee: james@company.com.',
    'By employee: james@company.com. Department Head: Nickolas Jim.',
    'Email: Customer One <customer2@yahoo.com>. Status: currently employees.',
    'Email: Customer One <customer3@yahoo.com>. By employee: Mirza@company.com.'
)

配列から「従業員別」を取得する必要があります。言い換えれば、私は正規表現ソリューションを必要としています

ED。存在する場合はBy従業員が必要です。他には何もありません。上記の例では、

By employee: james@company.com
By employee: james@company.com
By employee: Mirza@company.com
4

1 に答える 1

1

PHP 5.4.5 で次のサンプル コードをテストしました。

    <?php
$foo = array( 'Email: Customer One <customer1@yahoo.com>. By employee: james@company.com.',
              'By employee: james@company.com. Department Head: Nickolas Jim.',
              'Email: Customer One <customer2@yahoo.com>. Status: currently employees.',
              'Email: Customer One <customer3@yahoo.com>. By employee: Mirza@company.com.'
            );

for($i = 0; $i < count($foo); ++$i){
    if(0 >= preg_match('/\bBy employee: ([-\w._]+@[-\w]+(?:\.[-\w]+)*\.\w{2,4})\b/', $foo[$i], $matches))
        continue;  

    echo $matches[0] . "\n";
    echo $matches[1] . "\n";
    echo "\n";  
}            

?>

出力:

        By employee: james@company.com
james@company.com

By employee: james@company.com
james@company.com

By employee: Mirza@company.com
Mirza@company.com
于 2012-08-02T01:23:23.017 に答える