Lastnews Titel Kürzen

vodka

Mitglied
Hallo also ich hab versucht den Titel nach 30 Zeichen zu kürzen also das dan einfach "..." kommt aber jetzt hab ich das Problem das auch wen es weniger als 30 Zeichen sind gleiche der Titel z.b. so heisst:

Neue Page online...

Wie bring ich das hin das es nur diese Pünktchen gibt wen es zuviele Zeichen oder Buchstaben sind?

PHP:
<?php
// Verbindung mit der Datenbank erstellen //
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");


$query = "SELECT * FROM $tabellenews ORDER BY id DESC LIMIT 5";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{

$name=$r["name"];
$titel=$r["titel"];

//Text Kürzen
$limit = "30"; 
$neuer_titel = substr($titel, 0, $limit) . '...'; 


echo "
<table width='140' border='0' cellspacing='0' cellpadding='0'>
  <tr>
    <td><b>&raquo;</b> <a href='index.php?action=comments&id=$r[id]'>$neuer_titel</a></td>
  </tr>
</table>
";
}
?>
Hier bei Lastnews

greetz dalton
 
Wieso machst du soetwas nicht während der Abfrage:
Code:
SELECT
        IF(LENGTH(`spalte`)>30, CONCAT(LEFT(`spalte`, 30), '...'), `spalte`) AS `kurztext`
  FROM
        `tabelle`
 
Ich habe das so gelöst:
PHP:
if (strlen($ausgabe)>50) {
	$ausgabeneu = substr($ausgabe , 0 ,50);
	echo $ausgabeneu."..."; }
else 
	echo $ausgabe ;}
Hoffe es hilft

Klink
 
Wenn es schon eine PHP-Lösung sein soll, dann doch bitte etwas eleganter:

&nbsp;&nbsp;$kurztext = (strlen($langtext)>30) ? substr($langtext, 0, 30)."..." : $langtext;
 
Was ist daran eleganter? Genauergesagt, durch deinen Code steige ich nicht ganz durch. Ist ja auch egal!
 
Na das ist ja ganz toll ... ist nichts anderes als eine verkürzte If-Else-Abfrage. Ob man es so macht wie du oder wie Oberst Klink ist nun wirklich egal. :rolleyes:
 
Es ist schon ein Unterschied, da if ein Konstrukt und kein Operator ist.
Würde sich dann daher auf die Perfomance auswirken. Wenn man des Hintergrund den ternären Operators verstanden hat, kann man ihn für kleinere Sachen wesentliche effektiver eisnetzen als das If-Konstrukt.
 
Zurück