2017-12-27 3 views
0

Ich versuche, "..." nach meinem Produkttitel hinzuzufügen.Wie fügt man "..." zum Ende des Produkttitels hinzu, php echo

<a href="index.php?section=1&show=<?php echo $row['id_product']; ?>"> 
<?php 
    $title = $row['name']; 
    $newtext = str_pad($title, 6, "..."); 
    echo $newtext; ?> 
</a> 

Aber php print die einzige $row['name'] und nicht "..." fügt

Wie ist es möglich, dies zu verwirklichen?

+0

Ihr Code funktioniert für mich. Aber bedenke, dass, wenn $ title 6 oder mehr Zeichen lang ist, es am Ende kein ... gibt. –

+0

Es scheint, als ob Sie nicht wissen, was ['str_pad()'] (http://php.net/manual/en/function.str-pad.php) tut. Es fügt nur Zeichen hinzu, wenn die Eingabe ('$ title') kürzer ist als die angegebene Länge (in Ihrem Beispiel' 6'). Wenn Sie '...' anhängen wollen, tun Sie einfach 'echo $ title. '...'; '. –

+0

Oh. Ich möchte ".." zu einer maximalen Länge (Grenze) von "$ row ['name'] hinzufügen. – Juan

Antwort

2

Von str_pad() docs

Wenn der Wert von pad_length negativ ist, kleiner oder gleich der Länge des Eingabestrings, findet keine padding Ort und Eingabe zurückgegeben wird.

Sie können zuerst die Länge Ihrer Zeichenfolge erhalten, dann fügen Sie einfach die Länge der Zeichenfolge Pad hinzu. In Ihrem Fall

$title = $row['name']; 
$length = strlen($title) + 6; 
$newtext = str_pad($title, $length, "..."); 
echo $newtext; 

Für den String in eine kleinere Zeichenfolge schneiden, dann das Hinzufügen "...". Sie können substr() dann verketten. Mit zusätzlichen Überprüfung für mehr als 6 String-Länge

$title = $row['name']; 
$newtext = strlen($title) > 6 ? substr($title, 0, 6) . "..." : $title; 
echo $newtext; 
+0

Vielen Dank für die Hilfe.Eine weitere Frage oder einen Fehler fand ich.Wenn echo $ newtext gibt es x2 "..." und nicht ein "...". Sie wissen warum? – Juan

+0

Sie können '$ length = strlen ($ title) + 3;' zu verwenden setze den pad_string auf nur drei Zeichen – Erwin

+0

Mein Fehler, das ist nicht das, was ich suche. Ich möchte den Text ausschneiden und addieren '...' Dies nur hinzufügen ... für alle $ Titel und nicht auf ein Längenlimit geschnitten. (Entschuldigung für mein Englisch, ich aus Argentinien;) – Juan

Verwandte Themen