Dette er metoden til at gøre det, men den er langt fra sikker hver gang. Vil nok anbefale at man finder en gennemarbejdet 3. parts parser til den slags.
<?php
class SimpleParser
{
function __construct($content) {
$this->content = $content;
}
function compile($str) {
$linkRegex = '((http(s|)\\://|[a-zA-Z0-9\\-\\.]+\\.)[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,3}(/\\S*)?)';
if(preg_match($linkRegex,$str,$match)) {
$str = preg_replace($linkRegex,'<a href="$0">'.substr($str,0,20).'...</a>',$str);
}
return $str;
}
function parse() {
$cnt = explode("\\n",$this->content);
foreach($cnt as $ln => $c) {
$compiled[$ln] = $this->compile($c);
}
return implode("\\n",$compiled);
}
}
$c = '
og ødelægger designet ved at skubbe det.
Dette kan jeg løse ved at lave et link som bliver aktivt, og titlen bliver så forkortet.
Eks.
https://www.test.dk/238/5/213/hhvordan_goer_jeg_dette_aller_lettest_saa_det_vil_virke.html
Dette bliver i stedet til.
Eks.
http://www.test.dk/238/5/213/sasd.sd
www.test.dk/238/5/213/hhvorda... som er aktivt.';
$sp = new SimpleParser($c);
$sp->parse();
print $sp->compiled;
?>
Indlæg senest redigeret d. 04.12.2007 19:49 af Bruger #10216