-2

CURL を介して PHP 変数に格納された Web ページをチェックしています。Web ページ内には、月名と年、および名前が含まれるため、Web ページは次のようになります。

December 2012
Name: Jack Brown

次のように表示できるように、pregmatch でデータを検索する必要があります。

For Jack Brown - December 2012

私が試してみました

\b(?:Jan(?:uary)?|Feb(?:ruary)?|...|Dec(?:ember)?) (?:19[7-9]\d|2\d{3})(?=\D|$) 

しかし、それはエラーが発生します

4

1 に答える 1

1

スニペットを作成しますので、ここから始めてください。

$str = 'December 2012 Name: Jack Brown';
$ptr = "/^(?P<month>:Jan(?:uary)?|Feb(?:ruary)?|Dec(?:ember)?) (?P<year>:19[7-9]\d|2\d{3}) (Name:(?P<name>(.*)))/";
preg_match($ptr, $str, $data);
echo 'For '.trim($data['name']).' - '.$data['month'].' '.$data['year'];

結果は

'For Jack Brown - December 2012'

これは配列です

Array
(
    [0] => December 2012 Name: Jack Brown
    [month] => December
    [1] => December
    [year] => 2012
    [2] => 2012
    [3] => Name: Jack Brown
    [name] =>  Jack Brown
    [4] =>  Jack Brown
    [5] =>  Jack Brown
)

また、私は試してみます

'February 2005 Name: Bob' => 'For Bob - February 2005'

ps。あなたはさらに月を追加することができます私は追加するのが面倒です、乾杯

于 2012-12-13T05:05:18.117 に答える