Re: Search a string between <foo></foo>
| From: | Tom Carter | Date: | Wed, 09 May 2001 11:55:42 +0000 |
| Subject: | Re: Search a string between <foo></foo> | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-52086@lists.php.net to get a copy of this message | ||
The problem is that it matches the first foo with the first /foo and the
second foo witht eh /foo ( andmatches those properly) but it also matches
the first foo with the second /foo (thisnk of the logic of the regex).
What you need to do is rather than specify any character (.*) specify any
character which is not <foo> ie something like ^[<foo>]*
On Wed, 9 May
2001, Luiz Vitor wrote:
> Hi...
>
> I have a text and, some words of the text have the tags <url></url> between them.
> What i'm trying to do is to replace the word between that tags for a url, wich I'll
> search them in a database and convert to a url.
>
> It's working fine when I have only one <url></url>, but when there are more
> than one, the script converts all the text between the first <foo></foo> and the last
> <foo></foo>.
>
> I'm using this code:
>
> if (eregi("<foo>(.*)</foo>", $string, $result)) {
> $string = str_replace($result[1], '<a
> href="'.$result[1].'">'.$result[1].'</a>', $string);
> }
>
>
> Someone knows what I have to do to put it to work???
>
>
> Thanks in advance.
>
> Luiz Vitor
> Brazil
>