On Sun, Sep 18, 2011 at 15:12, Tim Streater <[email protected]> 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