Logo - MyWebsolution.de
User gesamt  :  2426190
User online  :  1
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » Tutorials » bbcodes tutorial

Seite: <  1 2 Posts pro Seite: 5 10 20
Autor Thread
01.02.2007 23:33 Uhr
fish
Forenuser
registriert 08.01.2007
wohnt in de/wü
Beiträge 20
jetzt ist es wie es sein soll. DANKE!
Profil ansehen
02.02.2007 00:05 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
fein :)


Profil ansehen Mail senden
02.02.2007 19:01 Uhr
fish
Forenuser
registriert 08.01.2007
wohnt in de/wü
Beiträge 20
spricht was dagagan, wenn ich den bbcode auf meiner seite ausstelle? ich verweise dabei auf dein tutorial und beschreibe nur kurz die sachen, die ich nachträglich eingebaut habe. http://www.fish.bierquartier.de/artikel-2-18-96-0.htm

Dieser Beitrag wurde am 02.02.2007 um 19:01:23 Uhr von fish zum 1. Mal editiert.
Profil ansehen
02.02.2007 19:17 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
nee, kein problem :)

/edit

Ich verschiebe den Thread mal ins Tutorial-Forum.


Dieser Beitrag wurde am 06.02.2007 um 16:59:15 Uhr von Flitze zum 1. Mal editiert.


Profil ansehen Mail senden
13.02.2007 13:51 Uhr
fish
Forenuser
registriert 08.01.2007
wohnt in de/wü
Beiträge 20
da ist mir gerade noch etwas aufgefallen:
wenn ich ein bild mit [img=hier_jetzt_ne_ziemlich_lange_adresse.de/also/wirklich/extrem/lang.jpg]al ttext[/ img] einbinde, dann wird die url des bildes gekürzt wenn sie zu lange ist. kann man das irgentwie verhindern?

Dieser Beitrag wurde am 13.02.2007 um 17:14:12 Uhr von fish zum 2. Mal editiert.
Profil ansehen
13.02.2007 18:11 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Hmm nein, eigentlich nicht... zu einer Kürzung kann es nur kommen, wenn der Alternativtext zu lang ist... Alles, was zwischen [] steht, ist von der Wortkürzung ausgenommen. Dafür sorgt dieser Code-teil:

PHP:
<?php
// BB-Code Tags entfernen, da sie nicht zur Buchstabenlänge eines Wortes zählen
            
$word preg_replace("/\[(.*)\]/Usi"""$word);
?>


Poste mal das Beispiel, bei dem das bei dir passiert, damit ich das lokal bei mir testen kann.


Profil ansehen Mail senden
13.02.2007 22:59 Uhr
fish
Forenuser
registriert 08.01.2007
wohnt in de/wü
Beiträge 20
also der code ist unverändert zu dem hier: http://www.fish.bierquartier.de/artikel-2-18-96-0.htm und das konkrete beispiel ist: Code:
[url=http://www.fish.bierquartier.de/images/werk/fensterbankgeschichten.jpg][img]http://www.fish.bierquartier.de/images/werk/thumbnails/fensterbankgeschichten.jpg[/img]
klick to enlarge[/url]
Profil ansehen
13.02.2007 23:05 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332


Hmm.. also hier im Forum gehts.. also muss es irgendwo bei dir im Quellcode haken.

Schau ich mir moin mal an, atm isn bisschen spät ;)


Profil ansehen Mail senden
14.02.2007 00:45 Uhr
fish
Forenuser
registriert 08.01.2007
wohnt in de/wü
Beiträge 20
äh joa.. kein prob.. ich schau nicht so oft auf die uhr ^^ danke..
Profil ansehen
14.02.2007 21:24 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
kk, habs.. also es liegt tatsächlich an der Stelle, die ich vorher schonmal gepostet habe.

Bei dir sieht das so aus:

PHP:
<?php
// für Links wird die maximale Länge erhöht 
            
if(substr(strtolower($word), 07)== 'http://' OR substr(strtolower($word), 08)== 'https://' OR substr(strtolower($word), 04)=='www.') { 
                
$max_lenght $max_link_lenght
            } 

            else { 
                
$max_lenght $max_word_lenght
            } 

            
$word trim($word); 
// BB-Code Tags entfernen, da sie nicht zur Buchstabenlänge eines Wortes zählen 
            
$word preg_replace("/\[(.*)\]/Usi"""$word); 
?>


und so muss es aussehen

PHP:
<?php
    
// ...
    // BB-Code Tags entfernen, da sie nicht zur Buchstabenlänge eines Wortes zählen
    
$word trim($word);
    
$word preg_replace("/\[(.*)\]/Usi"""$word);
    
// für Links wird die Länge erhöht
    
if(substr(strtolower($word), 07)== 'http://' OR substr(strtolower($word), 08)== 'https://' OR substr(strtolower($word), 04)=='www.')
        
$max_lenght $max_link_lenght;
    else
        
$max_lenght $max_word_lenght;
    
//...
?>


Du machst das in der falschen reihenfolge ;)

Das zu prüfende Wort muss zuerst so behandelt werden, dass alles zwischen [] entfernt wird, damit es nicht mitgezählt wird. Bie dir passiert das erst danach.


Profil ansehen Mail senden
14.02.2007 23:03 Uhr
fish
Forenuser
registriert 08.01.2007
wohnt in de/wü
Beiträge 20
super! danke!
Profil ansehen
30.05.2007 00:09 Uhr
fish
Forenuser
registriert 08.01.2007
wohnt in de/wü
Beiträge 20
hi ich hab nochmal ne frage. ich benutz deinen bbcode inzwischen begeistert, mir ist aber gerade aufgefallen, dass links die mit www und ohne http:// anfangen nicht richtig weitergeleiter werden (machen die browser wohl so) könntest du es so machen, dass vor jeden www link bei dem bei http:// fehlt, das http:// einfach mal vorne angehängt wird?

mfg fish
Profil ansehen
30.05.2007 13:50 Uhr RE:
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Zitat:
fish
hi ich hab nochmal ne frage. ich benutz deinen bbcode inzwischen begeistert, mir ist aber gerade aufgefallen, dass links die mit www und ohne http:// anfangen nicht richtig weitergeleiter werden (machen die browser wohl so) könntest du es so machen, dass vor jeden www link bei dem bei http:// fehlt, das http:// einfach mal vorne angehängt wird?

mfg fish


Hey, versteh dein Problem nicht ganz?

www.example.com funktioniert doch genauso wie http://www.example.com ?


Profil ansehen Mail senden
05.06.2007 23:57 Uhr
fish
Forenuser
registriert 08.01.2007
wohnt in de/wü
Beiträge 20
hm vielleicht habe ich eine ältere version, das kann sein. bei mir würde www.example.com nicht nach http://www.example.com umgeleitet, sondern zb nach http://www.mywebsolution.de/forum/www.example.com .
Profil ansehen
08.06.2007 00:38 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Dann müsstest du mal deinen aktuellen Quellcode posten ^^


Profil ansehen Mail senden
14.01.2008 16:31 Uhr
TaLun
User
 
registriert 14.01.2008
wohnt in
Beiträge 1
Also ich habe das selbe problem wie fish.
Wenn kein http:// vorgegeben wird, dann verlinkt er nicht sauber.
Ich habe meinen Code in eine Function gebaut und die linklenght als eigene unveränderte. Der code sieht bei mir so aus:

PHP:
//URL [url=pfad]Name[/url]
    //Function linkLenght beachten!!!
        $text = preg_replace_callback("/\[url=(.*)\](.*)\[\/url\]/Usi", 'linkLenght', $text);
        // "reine" URLs umwandeln
    $text = preg_replace_callback('#(( |^)(((ftp|http|https|)://)|www.)\S+)#mi', 'linkLenght', $text);


Wenn man also in irgendeiner Form (mit und ohne Linknamen) das http nicht schreibt wird der link wie bei fish aufgebaut.
Auch ist das bei der "reinen"url so. www.test.de wird gewandelt aber falsch und http://www.test.de wird bei mir komplett ignoriert.

Hast Du da ein Tip, was das Problem sein kann?

Edit:
ich lege nochmal den code für die function linklenght rein:
PHP:
// Prüft die Linklänge und passt sie gegebenenfalls an
// wird für preg_replace_callback definiert
    function linkLenght($treffer)
    {
        // $treffer[1] ist die URL
        $url = trim($treffer[1]);
        // $treffer[2] ist der Ausgabename
        // wurde kein Name angegeben, wird die URL als Name gewählt
        if(strlen(trim($treffer[2]))!=0)
            $linkname = $treffer[2];
        else
            $linkname = $treffer[1];
        // legt eine maximale Länge von 50 Zeichen fest
        // Ausnahme bei [img]-Tags
        if(strlen($linkname)>50 AND !substr_count(strtolower($linkname), '[img]') AND !substr_count(strtolower($linkname), '[/img]'))
            $linkname = substr($linkname, 0, 45-3)."...".substr($linkname, -5);
         // Rückgabelink
        $ergebnis = "<a href=\"".$url."\" target=\"_blank\">".$linkname."</a>";
        return $ergebnis;
    } 


Dieser Beitrag wurde am 14.01.2008 um 16:33:39 Uhr von TaLun zum 1. Mal editiert.
Profil ansehen
19.01.2008 22:23 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Hm da fehlen 2 Zeilen..

Hier mal mein Code:

PHP:
<?php
    
// Prüft die Linklänge und passt sie gegebenenfalls an
    // wird für preg_replace_callback definiert
    
function linkLenght($treffer)
    {
        
// $treffer[1] ist die URL
        
$url trim($treffer[1]);
        if(
substr($url,0,7)!= 'http://' AND substr($url,0,6)!= 'ftp://')
                
$url "http://".$url;
        
// $treffer[2] ist der Ausgabename
        // wurde kein Name angegeben, wird die URL als Name gewählt
        
if(strlen(trim($treffer[2]))!=0)
                
$linkname $treffer[2];
        else
                
$linkname $treffer[1];
        
// legt eine maximale Länge von 50 Zeichen fest
        // Ausnahme bei [img]-Tags
        
if(strlen($linkname)>50 AND !substr_count(strtolower($linkname), '[img]') AND !substr_count(strtolower($linkname), '[/img]'))
                
$linkname substr($linkname045-3)."...".substr($linkname, -5);
        
// Rückgabelink
        
$ergebnis "<a href=\"".$url."\" target=\"_blank\">".$linkname."</a>";
        return 
$ergebnis;
    }
?>



Profil ansehen Mail senden
Seite: <  1 2 no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik