On Sun, Sep 18, 2011 at 15:12, Tim Streater <t...@clothears.org.uk> 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

Reply via email to