note 12705 deleted from ref.strings by maxim

From: Date: Tue, 12 Nov 2002 16:19:53 +0000
Subject: note 12705 deleted from ref.strings by maxim
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-39397@lists.php.net to get a copy of this message
urls_clickable seems to miss the last character from any hyperlink which ends with a /. This can be a problem for a link to certain web servers which need a terminating slash to indicate that the last section refers to a directory. e.g. http://www.mysite.com/subdir/ Here's the altered function: // Makes all words starting with http:// clickable 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+1)); $link = $link; $string_tmp = $string; $string = substr($string_tmp, 0, $startpos); $string .= "<a href=\"$link\">$link</a>"; $string .= substr($string_tmp, $n+1, strlen($string_tmp)); $n = $n + 15; } } } return $string; } // lines with a additional +1 are: // the $link = substr(... // and // the $string .= substr(... // lines

« previous php.notes (#39397) next »