Wie kann ich die ersten n Zeichen eines Strings in PHP ermitteln? Wie kann ich eine Zeichenkette am schnellsten auf eine bestimmte Anzahl von Zeichen kürzen und bei Bedarf '...' anhängen?
Antworten
Zu viele Anzeigen?
Saikelu
Punkte
71
Für diesen Zweck habe ich eine Funktion entwickelt
function str_short($string,$limit)
{
$len=strlen($string);
if($len>$limit)
{
$to_sub=$len-$limit;
$crop_temp=substr($string,0,-$to_sub);
return $crop_len=$crop_temp."...";
}
else
{
return $string;
}
}
- Sie rufen die Funktion einfach mit String und Limite auf
- z. B:
str_short("hahahahahah",5)
; - schneidet die Zeichenkette ab und fügt am Ende "..." hinzu
- )
christoz
Punkte
56
tfont
Punkte
10180
Um innerhalb einer Funktion (zur wiederholten Verwendung) eine dynamisch begrenzte Länge zu erstellen, verwenden Sie:
function string_length_cutoff($string, $limit, $subtext = '...')
{
return (strlen($string) > $limit) ? substr($string, 0, ($limit-strlen(subtext))).$subtext : $string;
}
// example usage:
echo string_length_cutoff('Michelle Lee Hammontree-Garcia', 26);
// or (for custom substitution text
echo string_length_cutoff('Michelle Lee Hammontree-Garcia', 26, '..');
TravisO
Punkte
9202
Sergiy Sokolenko
Punkte
5707
Ich bin mir nicht sicher, ob dies die schnellste Lösung ist, aber es sieht so aus, als ob es die kürzeste ist:
$result = current(explode("\n", wordwrap($str, $width, "...\n")));
P.S. Einige Beispiele finden Sie hier https://stackoverflow.com/a/17852480/131337