thnks,
i didn't write the function so i've now replaced it
with something better.
----- Original Message -----
From: "Stuart Dallas" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, July 03, 2002 2:30 PM
Subject: Re: [PHP] whats wrong with this function
> On Wednesday, July 3, 2002, 1:47:05 PM, "Adrian Murphy" wrote:
> > whats wrong with this.
> > it's getting stuck somewhere
>
> "Somewhere" isn't very helpful. When asking for help be sure to include as
much
> information as possilble.
>
> Laying out your code so the structure can be seen...
>
> <?php
> function urls_clickable($string)
> {
> for($n=0; $n < strlen($string); $n++)
> {
> if(strtolower($string[$n]) == 'h')
> {
> if(!strcmp("http://", strtolower($string[$n]) .
strtolower($string[$n+1]) . strtolower($string[$n+2]) .
strtolower($string[$n+3]) . $string[$n+4] . $string[$n+5] . $string[$n+6]))
> {
> $startpos = $n;
>
> while($n < strlen($string) &&
eregi("[a-z0-9\.\:\?\/\~\-\_\&\=\%\+\'\"]", $string[$n]))
> $n++;
>
> if(!eregi("[a-z0-9]", $string[$n-1]))
> $n--;
>
> $link = substr($string, $startpos, ($n-$startpos));
> $link = $link;
> $string_tmp = $string;
> $string = substr($string_tmp, 0, $startpos);
> $string .= "<a href=\"$link\" target=\"_blank\">$link</a>";
> $string .= substr($string_tmp, $n, strlen($string_tmp));
> $n = $n + 15;
> }
> }
> }
> return $string;
> }
>
> $text = "http://www.somewhere.org <br><br>";
> echo urls_clickable($text);
> ?>
>
> It's getting stuck because you're moving the goalposts. It's a very bad
idea to
> base a loop on a variable that is changed within the loop. I suggest you
loop
> through one string while building a second string as the return value.
>
> On the other hand, I seem to remember seeing a regex posted on this list
> recently that did exactly this. I suggest you search the archives for it
> because it would save you a lot of hassle.
>
> --
> Stuart
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php