2017-05-22 1 views
1

Gibt es eine Möglichkeit festzustellen, ob es das Ende einer Zeichenkette erreicht hat oder nicht. Im Moment benutze ich diese PHP-FunktionBestimmen Sie, ob es in PHP ein Ende einer Zeichenkette ist

<?php echo substr('some text', 0, 7)?> 

die Zeichenzahl zu begrenzen angezeigt werden. Jetzt möchte ich "..." zum Text hinzufügen, aber nur wenn es nicht das Ende der Zeichenkette ist.

Also wenn ich einen Text "Hallo!" es würde das ganze Ding anzeigen und wenn ich einen Text "Ermitteln" hätte, würde es nicht nur "Determi" anzeigen, sondern fügt auch "..." wie das "Ermitteln ..." hinzu.

Ich habe diese Ellipse und Überlauf Wege versucht, aber sie haben nicht für mich funktioniert.

Wäre so etwas wie oben beschrieben möglich?

+0

Haben Sie nachging [strlen ] (http://php.net/manual/en/function.strlen.php)? Sie können damit die gewünschte Länge vergleichen. – aynber

Antwort

5

Sie erreichen dies mit der integrierten Funktion mb_strimwidth kann:

<?php 
echo mb_strimwidth("some text", 0, 7, "...") 
// output: "some te..." 
?> 
+0

oh schön, wusste das nicht! –

+0

Schön in der Tat. Gut zu wissen, dass es eine Funktion gibt, die klein und einfach ist! – anthony

3

Sie so etwas tun könnte:

<?php echo (strlen($text) > 7 ? (substr($text, 0, 7) . '...') : $text) ?> 

Wenn Zeichenfolge mehr als 7 Zeichen, echo Sie nur die ersten sieben Einsen und fügen Sie ..., sonst echo Sie einfach den Text

0
function trimStr($str, $len = 7) { 
    return strlen($str) > $len ? substr($str, 0, $len) . '...' : $str; 
} 
Verwandte Themen