phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
[b??d] z?e przetwarzanie tagów w portalu
Autor Wiadomość
Krakers


Posty: 79
Wysłany: 10-05-2004, 16:42   [błąd] złe przetwarzanie tagów w portalu

Cóż - dzisiaj to zauważyłem - jesli w portalu news będzie przekracza? długość kwalifikując? do skórcenia i pojawia się opcja [czytaj dalej] to wtedy tagi url się nie tłumacz?i linki nie działają .
 
     
Gadatliwa Kasia 

   
mopek


Pomógł: 2 razy
Posty: 290
Wysłany: 12-05-2004, 11:58   

wybieraj lepiej dział - przenoszę do portalu

[ Dodano: 16-05-2004, 21:30 ]
Cytat:
kwalifikując? do skórcenia i pojawia się opcja [czytaj dalej] to wtedy tagi url się nie tłumacz?i linki nie działają .


racja :/
_________________
[Forum Przyroda | Boxer Forum]
!!MoPeK!!
 
     
Ignis

Pomógł: 11 razy
Posty: 179
Wysłany: 21-06-2004, 18:09   

no to i ja się podczepi? do tego tematu, w?a?nie włączyćam u siebie portal, jestem w fazie testów... i okazuje się, że znaczniki bbcode nawalaj?.

problem pojawia się, przy długim "newsie". przy wersji "skróconej" znaczniki bbcode krzacz? się, przy wersji "czytaj więcej" wszystko jest (chyba) ok.

widz?, że problem został już poruszony, ale nie widz? rozwiązania problemu :P
jeśli takowego nie ma, po prostu zrezygnuj? z portalu (jednak?e ułatwi?by mi on życie, dlatego Wam ... głow?... zawracam :P )

formalności:
mam zainstalowane forum przema 1.8 poprawka 9
adres forum http://elementum.strona.de/forum
adres check files: http://elementum.strona.de/forum/check_files.php
adres portalu: http://elementum.strona.de/forum/portal.php
koniec formalności

(P.S. więcej playboyów nie dało rady wcisn??? :twisted: )
_________________
Somewhere over the rainbow...
 
     
Crack



Pomógł: 136 razy
Posty: 1442
Wysłany: 28-06-2004, 20:04   

Macie tu rozwiązanie tymczasowe:

Znajdź w fetchposts.php
Kod:
if ( ($text_length == 0) or (strlen($posts[$i]['post_text']) <= $text_length) )
{               
 $posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid'], $userdata['username']);
 $posts[$i]['striped'] = 0;
}
else
{
 // strip text for news
 $posts[$i]['post_text'] = bbencode_strip($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);
 $posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...';
 $posts[$i]['striped'] = 1;
}

Zamieć na
Kod:
$posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid'], $userdata['username']);
$posts[$i]['striped'] = 0;


W najbli?szym czasie dorobić funkcj? przycijaj?c? newsa do zadanej długości.

[ Dodano: 01-07-2004, 18:47 ]
A tu solidne rozwiązanie.

[ OTWÓRZ ]
fetchposts.php

[ ZNAJD? ]
Kod:
$posts[$i]['post_text'] = bbencode_strip($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);
$posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...';


[ ZAMIE? NA ]
Kod:
$posts[$i]['post_text'] = bbsubstr($posts[$i]['post_text'], $text_length) . '...';
$posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid'], $userdata['username']);


[ DO PLIKU DOPISZ ]
Kod:
function bbsubstr($string, $length)
{
    $tags_opened = 0;
    $copy_len = 0;
    for($i = 0; $i < strlen($string); $i++)
    {
        $s = $string[$i];
        if( $s.$string[$i+1].$string[$i+2] == '[*]' )
        {
            $i += 3;
        }
        elseif( $s.$string[$i+1].$string[$i+2].$string[$i+3].$string[$i+4] == '[you]' )
        {
            $i += 5;
        }
        elseif( $s.$string[$i+1] == '[/' )
        {
            $i++;
        }
        elseif( $s == ']' )
        {
            $tags_opened--;
        }
        elseif( $s == '[' && strpos($string, ']', $i) )
        {
            $tags_opened++;
            $i = strpos($string, ']', $i);
        }
        $copy_len = $i;
        if( $i >= $length && $tags_opened == 0 )
        {
            break;
        }
    }
    return substr($string, 0, $copy_len + 1);
}


Funkcja ta kontroluje tagi bbCode i jeśli np. kałemy jej wyci?? pierwsze 50 znaków tekstu i na 50-tej pozycji jest jeszcze otwart jaki? bbCode to funkcja poszuka zakończenia tagu i dopiero wtedy tnie tekst.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,08 sekundy. Zapytań do SQL: 11
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

mediaclick.pl

serwis laptopów

phpbb

Polisy Ubezpieczeniowe TU Europa

Design Cart - Tworzenie sklepu internetowego

dnirozwoju.pl

Ranking Hostingów HostingOnline.pl

• Zamów reklamę