Ich hab den hier schonmal geposteten URL Parser  (versucht) um die option zu erweitern, das er die Links auch kürzt wenn wie länger als n Zeichen sind. Nur ich habe das problem das er die eingebettete Funktion schlichtweg ignoriert.
 (versucht) um die option zu erweitern, das er die Links auch kürzt wenn wie länger als n Zeichen sind. Nur ich habe das problem das er die eingebettete Funktion schlichtweg ignoriert.
$1 läuft ohne weiteres durch die funktion cuthyper() durch und die var in dieser funktion hat auch nur den inhalt "$1".
Normalerweise sollte doch anstatt $1, der aus der klammer enstehende String der funktion cuthyper() übergeben werden. oder seh ich das falsch?
Klärt mich auf *hilfe* such schon voll ewig nach ner lösung.
hier mal mein code 
 
	
Hoffe ihr könnt mir helfen  
 
Gruss, nik
					 (versucht) um die option zu erweitern, das er die Links auch kürzt wenn wie länger als n Zeichen sind. Nur ich habe das problem das er die eingebettete Funktion schlichtweg ignoriert.
 (versucht) um die option zu erweitern, das er die Links auch kürzt wenn wie länger als n Zeichen sind. Nur ich habe das problem das er die eingebettete Funktion schlichtweg ignoriert.$1 läuft ohne weiteres durch die funktion cuthyper() durch und die var in dieser funktion hat auch nur den inhalt "$1".
Normalerweise sollte doch anstatt $1, der aus der klammer enstehende String der funktion cuthyper() übergeben werden. oder seh ich das falsch?
Klärt mich auf *hilfe* such schon voll ewig nach ner lösung.
hier mal mein code
 
 PHP-Code:
	
	
echo parseHyper("blabla [url]http://hallodoofesubdomain.domain.de/dasisjanentollesverzeichnis/undsoeineschoooeeeenneeedatei.html[/url] nochmehr blabla",1);
function parseHyper($string,$cut="0") 
    {
        $search = array(
          "/([\w\.\/\&\=\?\-]+)@([\w\.\/\&\=\?\-]+)/",     // eMail
          "/((ftp(7?):\/\/)|(ftp\.))([\w\.\/\&\=\?\-]+)/", // FTP
          "/((http(s?):\/\/)|(www\.))([\w\.\/\&\=\?\-]+)/" // HTTP
        );
        $replace = array (
          "<a href=\"mailto:$1@$2\">$1@$2</a>",                // eMail
          "<a href=\"ftp$3://$4$5\" target=\"_blank\">$4$5</a>", // FTP
          "<a href=\"http$3://$4$5\" target=\"_blank\">$4$5</a>" // HTTP
        );
        $string = preg_replace ($search, $replace, $string);
        $string = preg_replace ("/>(.*?)<\/a>/",">".cuthyper("$1",$cut)."</a>",$string);
        return $string;
    }
    
function cuthyper($str,$cut=0)
{
    if($cut==1 && strlen($str) >= 44){
        $sub1 = substr($str,0,30);
        $sub2 = substr($str,-10);
        $str = sprintf("%s ... %s",$sub1,$sub2);
    }
    return $str;
} 
 
 Gruss, nik
 
          
 preg_replace und Backreferences Problem
									
									
									preg_replace und Backreferences Problem
								 Moderator
 Moderator
 
							
						
Kommentar