Регулярные выражения PHP получают содержимое между словами - PullRequest
0 голосов
/ 13 сентября 2011

ломал голову, пытаясь понять, как работают регулярные выражения в php.

Я пытаюсь получить информацию после точки с запятой, но до следующего ключевого слова : начинает

Вот мой текст, который мне удалось использовать с помощью регулярных выражений, чтобы сначала вырезать html.

Название: 2012 BMW M5 Concept Местоположение: Мюнхен - Германия Ссылка: 091Комментарии: Уже 25 летЭто восхитительное сочетание высочайшего комфорта вождения, характерного для высшего среднего класса. От: Jim Smith jim@jimsemail.com.au 0987541231

Приведенный выше текст на самом деле просто пример, но точно в том же формате, что и мойтекст.

мне нужно вот что:

  1. Название = 2012 BMW M5 Concept

  2. Местоположение = Мюнхен, Германия

  3. Ссылка = 091

  4. Комментарии = Вот уже 25 лет потрясающая комбинация высочайшего комфорта при вождении в верхнем среднем классе премиум класса

  5. От = Джим Смит jim@jimsemail.com.au 0987541231

С последним результатом 5.От: Я всегда могу написать немного больше, чтобы извлечь письмо, однако, если кто-то может помочь с извлечением имени, а также номера телефона, который не всегда может быть точно таким количеством цифр, я был бы очень благодарен :)

пока у меня есть это, чтобы успешно получить номер ссылки:

if (preg_match("/Reference:[0-9]{3}/", $decodedmessage, $matches_id)) 
{ 
echo "Reference=".preg_replace("/Reference:/","",$matches_id[0]); 
}

Заранее спасибо Джонни

1 Ответ

0 голосов
/ 13 сентября 2011

Вот код, который вы можете использовать:

preg_match_all('/(\w+):([^:]+)(?=\s)/', '{{your data}}', $arr);

Вывод выглядит так:

Array
(
    [0] => Array
        (
            [0] => Title:2012 BMW M5 Concept
            [1] => Location:Munich - Germany
            [2] => 091Comments:For 25 years now, the fascinating combination of supreme driving comfort experienced in a premium upper
            [3] => midrangeFrom:Jim Smith jim@jimsemail.com.au
        )

    [1] => Array
        (
            [0] => Title
            [1] => Location
            [2] => 091Comments
            [3] => midrangeFrom
        )

    [2] => Array
        (
            [0] => 2012 BMW M5 Concept
            [1] => Munich - Germany
            [2] => For 25 years now, the fascinating combination of supreme driving comfort experienced in a premium upper
            [3] => Jim Smith jim@jimsemail.com.au
        )

)
...