Jay Blanchard wrote: > Given the string 'foo''bar''glorp' (all quotes are single quotes)I had > hoped to find a regular expression using preg_match that would return an > array containing just those words without having to go through > additional gyrations, like exploding a string to get an array. I have > only had limited luck > > $theString = "'foo''bar''glorp'"; > preg_match( "/\'(.*)\'/", $theString, $matches); > print_r($matches); > > Array > ( > [0] => 'foo''bar''glorp' > [1] => foo''bar''glorp > ) > > Of course $matches[0] has the entire string and $matches[1] contains the > returned string minus the leading and trailing single quote. I can > explode $matches[1] to get what I want, but it is an extra step and I am > sure that I have done this before but cannot locate the code in > question. I would like the results to be > > Array > ( > [0] => 'foo''bar''glorp' > [1] => foo > [2] => bar > [3] => glorp > ) > > That way I can use the $matches array without having to create another > array to hold the values. I feel as if I am really close on the regex to > do this, but cannot seem to find (after much head scratching and teeth > gnashing) the proper solution. > > Much thanks! > > If it's only real words this will do: $theString = "'foo''bar''glorp'"; preg_match_all( "/'([a-z]+)'/Ui", $theString, $matches); -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php