Tom: Variable nach 6 Zeichen mit "..." abtrennen

Beitrag lesen

Hello Hugo,

wie kann ich eine Variable nach einer bestimmten
Anzahl von Zeichen mit 3 Punkten abtrennen.

$test = 'diesisteinlangerstring';

PHP_Funkion($test) -> Ausgabe: diesis...

auf die Gefahr hin, dass hier wieder Beschwerden kommen von Oberlehrern[tm]

Du solltest erstmal entscheiden, wie lang der String werden darf inclusive der Punkte:

define("MAXSTRLEN",22);  # nur so als Beispiel

Dann überlegst Du, was Du als Fortsetzungshinweis hinten anhängst:

$fort = "...";

Dann holst Du Dir deinen String:

$langstring1 = "Ich bin lang";

Dann entscheidest Du, ob der abgeschitten werden muss

if (strlen($langstr1) > (MAXSTRLEN - strlen($fort))
{
  $langstr1 = substr($langstr1,0,(MAXSTRLEN - strlen($fort)).$fort;
}
else
{
  ## alles so lassen wie es ist
  $langstr1 = $langstr1;  ## das kann man dann natürlich auch weglassen
}

mal eben zur Kontrolle ausgeben

echo $ langstr1."<br />";

Dann machst Du das mit einem anderen String Deiner Wahl:

$langstring2 = "Ich bin aber viel länger als der andere";

Dann entscheidest Du, ob der abgeschitten werden muss

if (strlen($langstr2) > (MAXSTRLEN - strlen($fort))
{
  $langstr2 = substr($langstr2,0,(MAXSTRLEN - strlen($fort)).$fort;
}
else
{
  ## alles so lassen wie es ist
  $langstr2 = $langstr2;  ## das kann man dann natürlich auch weglassen
}

mal eben zur Kontrolle ausgeben

echo $ langstr2."<br />";

und stellst fest, dass da irgendwie Mist passiert ist und Cheatah

seinen Hals immer viel zu früh aufreißt, denn sooo trivial ist

das Probelem gar nicht.

Also, wenn man weiß, in welchem Format (z.B. RAW ASCII oder HTML) die
Strings vorliegen, ist das alles kein Problem. Aber viele Texte für die
HTML-Ausgabe liegen eben schon als HTML vor. Da können Entities im Text
enthalten sein oder auch Tags. Was tun?

Ich denke, das das Problem es wert ist, dass man genauer darüber
nachdenkt und nicht irgendwelche Manualseiten mit den Stringfunktionen
zitiert.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen