On Sun, Aug 23, 2015 at 6:59 PM, Ian Evans <dheianevans@xxxxxxxxx> wrote: > On Sun, Aug 23, 2015 at 6:52 PM, Aziz Saleh <azizsaleh@xxxxxxxxx> wrote: > > > > > > > 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. > > > > Thanks. There might be other quotes in the article, so if I include the > colon, it'd be before the /U? > Yeah, you might also want to do a select to avoid getting the actual quotes: preg_match_all('/"(.*)":/U', $var, $res); print_r($res[1]);