preg_replace -> stringlänge -> problem

*narfff**

dafür bekomm ich aber nen Eis von dir! ;D
PHP:
<?
function substrWithDots($string,$maxlength){ 
	if(strLen($string) <= $maxlength)
		return $string;
	return substr($string,0,$maxlength)."..."; 
} 
function subCase($string){
	if($string[6] != ""){
		$string[5] = $string[6];
		$string[2] = "http";
	}
	$tmp = "<a href=\"".$string[2]."://".$string[5]."\" target=\"_blank\" title=\"".$string[2]."://".$string[5]."\">".substrWithDots($string[5],15)."</a>";
return $tmp;;
}
$match = "((((https?)|(ftp))://([^ ()<>\\t\\n\\r]*))|(((www))\.([^ ()<>\\t\\n\\r]*)))";

echo nl2br(preg_replace_callback($match,"subCase",$text));
?>
<form>
<textarea name="text">das ist ein langer text mit verschiedenen url´s
nun folgen
http://www.gmx.dea ist richtig geschrieben
Http://gmx.de geht auch ist die abkürzung
https://www.bluba.de/wieso/geht/das/nicht.de
www.gmx.de hier wird der browser das http:// hinzufügen
eigentlich könnte man ja noch nur gmx.de dazu tun aber das wäre nun bisl übertrieben! :D
die links
</textarea>

<input type="submit">
</form>
 
Zuletzt bearbeitet:
Whow... echt cool... funktioniert bestens...
Haste Dir das Eis aber echt verdient... :)
Vielen Dank nochmal!

Schwarzwalderbecher.jpg
 
na das nenne ich mal ein Eis ;D!
Das einzige was halt net funkt wenns ohne http bzw www geschrieben wird also single like gmx.de
 
Kein Problem, dann haben die User eben Pech gehabt... Aber eigentlich ist das ja klar, dass man eine URL mit http:// oder mit www beginnt...

Danke nochmal!
 
Zurück