In einen variablen String einen anderen an bestimmter Stelle einfügen

firewing

Grünschnabel
Hallo ich möchte in einem String, wie z.B.:
Code:
$string1 = "Ein toller Text der ganz schön viele Informationen enthält"
an einer bestimmten Stelle in diesem String (z.B. Zeichen 22: "ganz") einen anderen String nämlich:
Code:
<a class=\"tooltip\" href=\"#\"> [...] <span>
einfügen.
Allerdings, und das ist der Haken(!), soll er das nicht exakt nach dem Buchstaben einfügen, sondern vor dem Wort in dem der Buchstabe (an Stelle 22) vorkommt.
Das Ziel müsste dann so aussehen:
Code:
$stringneu = "Ein toller Text der <a class=\"tooltip\" href=\"#\"> [...] <span>ganz schön viele Informationen enthält"
Schön wäre es, wenn er nach: "Ein toller Text der" noch "..." setzen würde...

Ziel des Ganzen: So ein stylischer (in CSS geschriebenes) "Weiterlesen-Knopf", der dann den Rest anzeigt. Nur komme ich partout nicht weiter, es scheint viele Möglichkeien geben - doch ich wäre echt dankbar, wenn mir jemand mal den Mist hier aufzeigt. Das sind wahrscheinlich nur zwei Zeilen ;)
 
Zuletzt bearbeitet:
Probiers mal damit:
PHP:
$maxWords = 4;

$string1  = "Ein toller Text der ganz schön viele Informationen enthält";

$textArray     = explode(' ', $string1);
$textArrayKurz = array_slice($textArray, 0, $maxWords);

$kurzText = implode(' ', $textArrayKurz);

if(count($textArray) > $maxWords) {
        $kurzText .= '<a class=\"tooltip\" href=\"#\">[...]</a>';
}

echo $kurzText;

Hier wird nach Wörtern gezählt und nicht nach Buchstaben, somit wird ein Wort nicht unnötig abgebrochen.
 
Zuletzt bearbeitet:
Zurück