Web lists-archives.com

Re: [PHP] Capturing part of regex search




On Sun, Aug 23, 2015 at 6:30 PM, Ian Evans <dheianevans@xxxxxxxxx> 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.