Re: Capturing part of regex search
| From: | Ian Evans | Date: | Sun, 23 Aug 2015 22:59:36 +0000 |
| Subject: | Re: Capturing part of regex search | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-325066@lists.php.net to get a copy of this message | ||
On Sun, Aug 23, 2015 at 6:52 PM, Aziz Saleh <azizsaleh@gmail.com> wrote:
>
>
> On Sun, Aug 23, 2015 at 6:30 PM, Ian Evans <dheianevans@gmail.com> wrote:
>
>> I've been looking at the regex functions. Either it's a lack of caffeine
>> or
>> it's right in front of my nose, but how do I put part of a regex find into
>> a variable? Plus I suck at regex.
>>
>> e.g.
>>
>> I'm interested in capturing the names of people who are found in text
>> surrounded by the following format:
>>
>> "John Doe":/cr/johndoe/ or "Jane Smith":/cr/janesmith/
>>
>> I'd want to place John Doe or Jane Smith into the variable. The search
>> will
>> always be for "name":/cr/nameurl/
>>
>> What regex and php function would I use? Thanks for any pointers. One of
>> these days I'll master regex.
>>
>
> If the names will always contain double quotes, it should be as easy as:
>
> $var = ' "John Doe":/cr/johndoe/ or "Jane Smith":/cr/janesmith/';
> preg_match_all('/".*"/U', $var, $res);
> print_r($res);
>
> U to make it ungreedy (its greedy by default). If there are other quotes
> in the text, you can add the colon to the expression as well.
>
Thanks. There might be other quotes in the article, so if I include the
colon, it'd be before the /U?