On Sun, Sep 18, 2011 at 15:12, Tim Streater <tim@xxxxxxxxxxxxxxxx> wrote: > At the moment, I'm doing this: > > $start = stripos ($body, "<a ", $loc); > > You'll note the space after the '<a'. But I really need to search in $body for '<a' followed by any whitespace char, at least one, starting at the $loc'th character, and returning the location of the string in $start. > > I had a look at the PCRE and POSIX regexp functions to no avail. Is there a slick way of doing this with one function call or should I just search for '<a' and brute-force check that the next char is ' ' or '\t' or '\n'? > > Thanks, Try something along this line: <?php preg_match_all('/<a\b/Ui',$text,$matches); ?> Replace $text with the text through which you want to look, and your results will be an array in $matches. The \b switch in the regexp will match any word/letter border, which includes whitespaces, tabs, newlines, periods, et cetera. Essentially, anything that you'll want to match inside HTML tags, be they valid or otherwise. The U modifier makes the search "Ungreedy," while the i modifier makes it case-iNsEnSiTiVe. -- </Daniel P. Brown> Network Infrastructure Manager http://www.php.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php