Text nach x Zeichen kürzen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
sw-c
Mitglied
Beiträge: 70
Registriert: 05.06.2005 13:42

Text nach x Zeichen kürzen

Beitrag von sw-c »

Hallo,

Ich möchte gerne einen Text kürzen. Und zwar soll dieser genau nach 120 Zeichen (selbst wenn ein Wort geteilt wird) gekürzt sein. Dann nach sollte halt einfach "... [mehr]" stehen.

Hätte jemand vlt. mal schnell ein PHP-Script parat?
Wäre nett.

MfG
sw-c
Xmopf
Mitglied
Beiträge: 85
Registriert: 17.04.2002 09:21
Wohnort: Sauerland

Beitrag von Xmopf »

Code: Alles auswählen

$newString = substr( $string, 0 , 120);
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

Habe selber nachlesen müssen, aber es gibt einen befehl:
substr
Habe dir dazu was geschrieben:

Code: Alles auswählen

<?PHP
$string ="deinezeichenkette";      // Die zu durchsuchende zeichenkette
$neustring = substr($string, 0, 120); // substr bricht sie nach 120 zeichen
echo $neustring."...[mehr]";   // ausgabe des neuen strings mit ...[mehr]
?>


Hoffe dir hilft das
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
sw-c
Mitglied
Beiträge: 70
Registriert: 05.06.2005 13:42

Beitrag von sw-c »

Danke.

Es klappt wunderbar.
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

Ich hab mir da mal ne kleine Funktion programmiert, kannste gerne benutzen. Die schneidet immer korrekt nach einem Wortende ab

Code: Alles auswählen

function cut_string($string,$max_length)
//cuts a string after $max_length charakters after the prevrious word
//copyright by www.2webdesign.de
{
    $array = explode(" ", $string);
    $new_string = "";
    
    if ( $max_length >= strlen($string) )
    {
        return $string;
    }
    else
    {
    
        foreach ($array as $word)
        {
            if (  (strlen($word) + strlen($new_string) ) <= $max_length )
            {
                $new_string .= $word . " ";
            }
            else 
            {
                    $new_string = rtrim($new_string);
                    return $new_string;
            }
        }
    }
}
Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
Antworten

Zurück zu „Coding & Technik“