[php] Skracanie linków

Rozmowy z innymi użytkownikami forum na różne tematy, niekoniecznie związane ze skryptem phpBB.
Gość

[php] Skracanie linków

Post autor: Gość » 21 lutego 2009, 14:52

Mam skrypt typu "ostatnio na forum", wszystko fajnie tylko jak skrócić linki by mi nie rozwalały div'a gdy komuś przyjdzie fantazja w tytule dać 200 znaków?
Fragment odpowiedzialny za wypisywanie -

Kod: Zaznacz cały

$topics_html .= "<a href=\"{$path}viewtopic.php?t={$topic['topic_id']}\">{$topic['topic_title']}</a><br />"; 
Macie tak zrobione na str. głównej po iluś tam znakach jest koniec i dodaje trzy kropki, to jest to o co mi chodzi.
Dzięki.

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: [php] Skracanie linków

Post autor: daroPL » 21 lutego 2009, 15:06

Skorzystaj z funkcji substr() oraz strlen(), po za tym piszesz w złym forum.

jaroslw
Zasłużony
Posty: 4524
Rejestracja: 10 grudnia 2005, 18:48
Kontakt:

Re: [php] Skracanie linków

Post autor: jaroslw » 21 lutego 2009, 15:59

Możesz do tego wykorzystać bardzo prostą funkcję:

Kod: Zaznacz cały

function short_text($string, $characters)
{
    if (strlen($string) >= $characters)
    {
        $shortcut = substr($string, 0, $characters) . '&#8230;';
    }
    else
    {
        $shortcut = $string;
    }
    
    return $shortcut;
} 
Wywołujesz ją w sposób:

Kod: Zaznacz cały

short_text('ciąg znaków', x); 
Za x wstaw liczbę znaków, po jakiej tekst ma zostać skrócony.
Pobierz styl: we_universalwe_clearblue
Nowości i aktualizacje: FacebookGoogle+Twitter

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: [php] Skracanie linków

Post autor: daroPL » 21 lutego 2009, 23:02

Taki mi już nawyk nabyłem...poprawiam funkcję:

Kod: Zaznacz cały

function short_text($string, $characters)
{
    if (strlen($string) > $characters)
    {
        return substr($string, 0, $characters) . '&#8230;';
    }
    return $string;
} 

ODPOWIEDZ

Wróć do „Ogólne dyskusje”