Visa ett inlägg
Oläst 2010-05-31, 17:30 #1
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
Standard Användbar funktion

Tänkte bara dela med mig av en användbar funktion som jag precis skapat.

Denna funktion är användbar om du vill visa en preview av en lång text. Du kan själv bestämma längden på texten. Det fiffiga med den är att den rensar bort oönskade delar av texten som skulle förstöra din preview, t.ex. bilder, javaScripts eller html. Jag vet att jag enkelt hade kunnat använda mig av striptags() för den delen men det var roligare att skapa allt själv.

Så här fungerar den, byt ut $CPtext mot den långa text du vill skapa en preview av. Byt ut $CPLength mot önskat antal tecken som din preview ska bestå av.

Exempel:
echo cleanPeek($enstortext, 1000);

Nedan ser du funktionen:

function cleanPeek ($CPtext, $CPLength) {

$CPtext = htmlentities($CPtext);
$length = strlen($CPtext);
$stepper = 0;

for ($char=0;$char<=$length;$char++) {

if (substr($CPtext,$stepper,4) == '&lt;') {

$CPtext = substr_replace($CPtext,'',$stepper,4);
$mode = 'erase';

} else if (substr($CPtext,$stepper,4) == '&gt;') {

$CPtext = substr_replace($CPtext,'',$stepper,4);
$mode = 'read';


} else if ($mode == 'erase') {

$CPtext = substr_replace($CPtext,'',$stepper,1);

} else {

$stepper ++;

}

}

$CPtext = html_entity_decode($CPtext, ENT_QUOTES, "UTF-8");
$cleanPeek = substr($CPtext,0,$CPLength);
$cleanPeek = substr($cleanPeek,0,strrpos($cleanPeek,' '));

return $cleanPeek;

}

Senast redigerad av robincox den 2010-05-31 klockan 17:43
robincox är inte uppkopplad   Svara med citatSvara med citat