Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Frage zum Tutorial: BBCode-Parser

Layoutprobleme? - Styleswitcher!

Antwort
 
Themen-Optionen
Alt 26.02.2008, 10:18 Nach oben    #1
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard Frage zum Tutorial: BBCode-Parser

Ich habe mich (mal wieder) an das BBCode-Parser-Tutorial gemacht.

Derzeit hänge ich folgendem Problem:
Parameter verwenden

Mein BBCode sieht so aus:
Code:
[url="http://www.domain.tld" title="Dies ist der Titel des Links"]Link-Text[/url]
doch der HTML-Code, der daraus generiert wird ist:
Code:
<a href="Dies ist der Titel des Links">Link-Text</a>
richtig wäre:
Code:
<a href="http://www.domain.tld" title="Dies ist der Titel des Links">Link-Text</a>
Ich weiß, dass ich dieses Problem schon einmal hatte - darum ärgert es mich um so mehr, dass ich nun die Lösung nicht selbst finde...


Mein url-case sieht so aus:
PHP-Code:
          case 'url':
            if (
count ($arrayParameter) == OR array_key_exists ('__INIT__'$arrayParameter) === FALSE)
            {
              
$stringText '<a href="'.$stringText.'">'.$stringText.'</a>';
            }
            else
            {
              
$stringTitle '';
              if (
array_key_exists ('title'$arrayParameter) === TRUE)
              {
                
$stringTitle ' title="'.$arrayParameter['title'].'"';
              }

              
$stringText '<a href="'.$arrayParameter['__INIT__'].'"'.$stringTitle.'>'.$stringText.'</a>';
              unset (
$stringTitle);
            }
#                echo '<pre>';
#                print_r($arrayParameter);
#                echo '</pre>';
#                exit();
#    [__INIT__] => Dies ist der Titel des Links
#    [0] => Dies ist der Titel des Links
#    [1] => Dies ist der Titel des Links

            
break; 
Also wenn mich nichts täuscht, dann ist das genau so wie auch im Tutorial.

Bei den kommentierten Zeilen habe ich mal testweise $arrayParameter ausgegeben; mit dem Ergebnis, dass $arrayParameter['title'] nicht existiert, daher der title-tag auch nicht auftauchen kann.
Das leuchtet mir zwar ein, dass das die Folge ist; warum der title-Text verschweindet weiß ich aber nicht.

Was aber daran auch merkwürdig ist, dass der Text, der für den Titel vorgesehen war dann in den href rutscht.

Hat jmd. eine Idee?
Ist da ggf. ein Fehler im Tutorial oder habe ich mir das hier einfach nur mal wieder kaputt konfiguriert?

die beiden url-Varianten
Code:
[url]http://www.developers-guide.net/[/url]
[url]http://www.developers-guide.net/]developers-guide[/url]
tun, was sie tun sollen...
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (26.02.2008 um 10:21 Uhr). Grund: noparse-tags hinzugefügt
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 12:53 Nach oben    #2
Flor1an
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 49
Standard

Vielleicht weil du keine Anführungszeichen um die URL setzten darfst?

[ url="url" titel="blub"]bla[/url]

Im Tutorial werden die beim ersten Parameter bzw. __INIT__ nicht verwendet!
__________________
Wenn ich du wäre, wäre ich lieber ich.

http://www.clubstars.net
http://www.x-tinct.de
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 13:08 Nach oben    #3
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Vielleicht weil du keine Anführungszeichen um die URL setzten darfst?

[ url="url" titel="blub"]bla[/url]
getestet - das ist kein Problem.
Wenn ich das ohne den title-tag nutze, sind die " egal. Funktioniert mit und ohne
Zitat:
Zitat von Flor1an Beitrag anzeigen
Im Tutorial werden die beim ersten Parameter bzw. __INIT__ nicht verwendet!
Was meinst du damit? Das verstehe ich gerade nicht, was du mir damit sagen willst.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 16:30 Nach oben    #4
$traight-$hoota
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 488
Standard

lass dir doch mal $arrayMatches und $arrayParameter in der Funktion functionParseParameter ausgeben, wenn der titel-Parameter nicht vorhanden ist, scheint ja da schon irgendwo der Fehler zu liegen...

btw in der zweiten url-Variante hat sich ein tippo eingeschlichen (] statt =)
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 18:53 Nach oben    #5
MrNiceGuy
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 603
Standard

Ähm, ich verstehe das selber gerade nicht, denn wenn ich mir den Anhang des Tutorials runterlade und ausprobiere, funktioniert es ohne Probleme, zumal es sogar eines der Beispiele ist, die in der Test-Datei enthalten sind...

Hast du das Script kopiert oder hast du es Stück für Stück aus dem Tutorial erweitert? Dann müsste ich nämlich mal prüfen, ob ich im Tutorial selber etwas anderes stehen habe, als in den Scripten des Anhangs!?
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 20:15 Nach oben    #6
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Zitat:
Zitat von $traight-$hoota Beitrag anzeigen
lass dir doch mal $arrayMatches und $arrayParameter in der Funktion functionParseParameter ausgeben, wenn der titel-Parameter nicht vorhanden ist, scheint ja da schon irgendwo der Fehler zu liegen...
Gerade mal gemacht:
Code:
Array
(
    [__INIT__] => http://www.domain.tld
    [0] => http://www.domain.tld
)
Array
(
    [0] => Array
        (
            [0] => ="http://www.domain.tld" 
            [1] => 
            [2] => "
            [3] => http://www.domain.tld
        )

    [1] => Array
        (
            [0] => title="Dies ist der Titel des Links"
            [1] => title
            [2] => "
            [3] => Dies ist der Titel des Links
        )

)
Array
(
    [__INIT__] => Dies ist der Titel des Links
    [0] => Dies ist der Titel des Links
    [1] => Dies ist der Titel des Links
)
Array
(
    [0] => Array
        (
            [0] => ="http://www.domain.tld" 
            [1] => 
            [2] => "
            [3] => http://www.domain.tld
        )

    [1] => Array
        (
            [0] => title="Dies ist der Titel des Links"
            [1] => title
            [2] => "
            [3] => Dies ist der Titel des Links
        )

)
Array
(
    [__INIT__] => http://www.domain.tld
    [0] => http://www.domain.tld
)
Array
(
    [0] => Array
        (
            [0] => ="http://www.domain.tld" 
            [1] => 
            [2] => "
            [3] => http://www.domain.tld
        )

    [1] => Array
        (
            [0] => title="Dies ist der Titel des Links"
            [1] => title
            [2] => "
            [3] => Dies ist der Titel des Links
        )

)
Array
(
    [__INIT__] => Dies ist der Titel des Links
    [0] => Dies ist der Titel des Links
    [1] => Dies ist der Titel des Links
)
Array
(
    [0] => Array
        (
            [0] => ="http://www.domain.tld" 
            [1] => 
            [2] => "
            [3] => http://www.domain.tld
        )

    [1] => Array
        (
            [0] => title="Dies ist der Titel des Links"
            [1] => title
            [2] => "
            [3] => Dies ist der Titel des Links
        )

)
für folgenden code:
Code:
[url="http://www.domain.tld" title="Dies ist der Titel des Links"]Link-Text[/url]
Zitat:
Zitat von $traight-$hoota Beitrag anzeigen
btw in der zweiten url-Variante hat sich ein tippo eingeschlichen (] statt =)
Ich kann gerade nicht nachvollziehen, welche Stelle du meinst!


Zitat:
Zitat von MrNiceGuy Beitrag anzeigen
Ähm, ich verstehe das selber gerade nicht, denn wenn ich mir den Anhang des Tutorials runterlade und ausprobiere, funktioniert es ohne Probleme, zumal es sogar eines der Beispiele ist, die in der Test-Datei enthalten sind...
Richtig - ich wollte sie ja auch in dem Beispiel haben - ggf. erinnerst du dich daran, dass ich das in der Test-Phase des Tutorials schon hatte...

Zitat:
Zitat von MrNiceGuy Beitrag anzeigen
Hast du das Script kopiert oder hast du es Stück für Stück aus dem Tutorial erweitert? Dann müsste ich nämlich mal prüfen, ob ich im Tutorial selber etwas anderes stehen habe, als in den Scripten des Anhangs!?
Ich hatte es anfänglich mal aus dem Tutorial (nicht dem Anhang) kopiert und dann modifiziert.
Das ist aber schon ein paar 'Tage' länger her. In dem Rahmen entstand auch die Test-Datei für das Tutorial.


Ich habe mal, damit ihr einen Einblick bekommt, eine Übersicht meines Codes zusammengestellt:

Funktionstest:
http://www.bekaan.org/php-Spielwiese/BBCode/

und der Quellcode der kleinen Klasse (mit den beiden Methoden aus dem Tutorial)
http://www.bekaan.org/php-Spielwiese/BBCode/code.php
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 20:19 Nach oben    #7
MrNiceGuy
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 603
Standard

Verstehe ich jetzt gerade nicht, die Test-Datei ist doch ebenso wie das Script selbst von mir angehängt worden!? Hä? Bin ich schon zu begriffsstutzig gegen halb acht Uhr Abends?!
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 20:21 Nach oben    #8
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Ggf. solltest du deinen Alkoholkonsum nochmal überdenken

Ja, die Testdatei hast du angehängt - aber im Rahmen der Testphase des Tutorials von mir (zumindest in Teilen) erstellt worden....
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 20:33 Nach oben    #9
MrNiceGuy
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 603
Standard

Hab den Fehler gefunden:

PHP-Code:
if (empty ($arrayMatch[1]) === TRUE)
            {
              
$stringKey '__INIT__';
            }
            else
            {
              
$strignKey strtolower ($arrayMatch[1]);
            } 
Ersetz mal das "strignKey" durch "stringKey". Ich schaue mal eben, ob ich das im Tutorial auch noch falsch stehen habe. Konnte nach kurzer Überlegung nur der Fehler sein, dass der String für den Schlüssel falsch ist

EDIT: Habe im Tutorial und auch im Anhang diesen Tippfehler nicht drin, mag höchstens sein, dass das noch aus einer vorherigen Version stammt und ich es danach im Tutorial schon korrigiert hatte?!

Btw: Mein Alkoholkonsum kann eigentlich garnicht weiter eingeschränkt werden, sonst fängt nachher noch an sich Blut im Alkohol zu bilde, das geht doch wohl garnicht?!
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll

Geändert von MrNiceGuy (26.02.2008 um 20:35 Uhr).
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.02.2008, 20:37 Nach oben    #10
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

wunderbar - das war's!

Im Tutorial ist es richtig.

Den Fehler habe ich wohl bei mir reingebaut!

Danke!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 11:14 Nach oben    #11
Flor1an
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 49
Standard

Hrhr nicht nur die Anfänger machen solche Fehler Auch manchmal die Profis unter uns Irgendwie doch schön zu sehen!
__________________
Wenn ich du wäre, wäre ich lieber ich.

http://www.clubstars.net
http://www.x-tinct.de
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 11:15 Nach oben    #12
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Auch manchmal die Profis unter uns
weiß ich nicht... kann sein....
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 19:45 Nach oben    #13
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

So...

nachdem der url-tag ja nun richtig funktioniert habe ich mal versucht ein paar weitere tags einzubauen.

Der folgende funktioniert zwar zufriedenstellend, aber ich werde das Gefühl nicht los, dass man das auch schöner hätte lösen können....

PHP-Code:
          case 'list':
            if (
count ($arrayParameter) == OR array_key_exists ('__INIT__'$arrayParameter) === FALSE)
            {
              
$stringText '<ul><li>'.$stringText.'</li></ul>';
            }
            else
            {
              
$stringType '';
              if (
array_key_exists ('type'$arrayParameter) === TRUE
                  
&&
                  (
$arrayParameter['type'] == '1'      // für numerische Auflistung
                   
or
                   
$arrayParameter['type'] == 'I'      // große römische Zahlen
                   
or
                   
$arrayParameter['type'] == 'i'      // kleine römische Zahlen
                   
or
                   
$arrayParameter['type'] == 'A'      // große Buchstaben
                   
or
                   
$arrayParameter['type'] == 'a'))    // kleine Buchstaben
              
{
                
$stringType ' type="'.$arrayParameter['type'].'"';
              }
              
$stringText '<ol start="'.$arrayParameter['__INIT__'].'"'.$stringType.'><li>'.$stringText.'</li></ol>';
              unset (
$stringType);
            }
            
$stringText str_replace(array('[*]''<li></li>'), array('</li><li>'''), $stringText);

            break; 
Die Benutzung erfolgt genauso wie hier im Forum, nur dass ich die anderen Aufzählungsformen (römische Zahlen und Buchstaben) noch mit aufgenommen habe.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 21:15 Nach oben    #14
MrNiceGuy
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 603
Standard

Wie wäre es denn einfach mit einem einzelnen RegEx?

PHP-Code:
preg_match ('°^[1ia]$°i'$arrayParameter['type']) == 
Ist zwar vielleicht langsamer, dafür aber übersichtlicher und meiner Meinung nach auch schöner?!

Allerdings verstehe ich auch gerade deinen str_replace nicht so ganz, warum ersetzt du alle <li></li> durch Nichts!? Vermutest du, dass jemand einen leeren Eintrag einbaut? Und wenn ja: Wäre es so schlimm? Vielleicht ist es ja gewollt - aus welchen Gründen auch immer!?
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 22:52 Nach oben    #15
$traight-$hoota
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 488
Standard

Zitat:
Zitat von MrNiceGuy Beitrag anzeigen
PHP-Code:
preg_match ('°^[1ia]$°i'$arrayParameter['type']) == 
Ist zwar vielleicht langsamer, dafür aber übersichtlicher und meiner Meinung nach auch schöner?!

autsch...

Also noch sinnfreier können Reguläre Ausdrücke ja fast nicht mehr angewandt werden... sry, aber ist so
wie wäre es denn in diesem Fall einfach mit nem schlanken in_array?
PHP-Code:
in_array($arrayParameter['type'], array('1''i''I''a''A')) 
Mit strtolower könnte man zwar auch die Großbuchstaben im Array sparen, aber das wäre bei dieser kleinen Menge wohl nur lansamer.

Alternativ wäre auch ein z.B. ein solcher switch um einiges schneller als ein regex:
PHP-Code:
switch(strtolower($arrayParameter['type'])){
     case 
'1':
     case 
'i':
     case 
'a':
     
$stringType ' type="'.$arrayParameter['type'].'"';
     break;

Außerdem könntest du das ganze noch ein bischen weiter optimieren, indem du das str_replace vor der if-abfrage, also bevor die umgebebenden listen-tags generiert werden, ausführst. Diese Strings würden ja sonst umsonst durchsucht.
Und du solltest überprüfen, ob $arrayParameter['__INIT__'] eine zahl ist um kein fehlerhaftes HTML zu erzeugen.
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.02.2008, 23:08 Nach oben    #16
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Zitat:
Zitat von MrNiceGuy Beitrag anzeigen
Wie wäre es denn einfach mit einem einzelnen RegEx?
Probiere ich morgen mal aus!

Zitat:
Zitat von MrNiceGuy Beitrag anzeigen
Allerdings verstehe ich auch gerade deinen str_replace nicht so ganz, warum ersetzt du alle <li></li> durch Nichts!?
ganz einfach deswegen, weil ich alle [*] durch end-start-tags ersetze.
Am Anfang und am Ende habe ich noch die beiden li-tags.
Diesen Umweg habe ich gewählt, damit das schließende li-tag auf jeden Fall immer dabei ist.

Dadurch aber ist am Anfang immer ein li-start und li-end-tag, welches leer ist, welches ich im zweiten Schritt entferne.

Klingt unübersichtlich? Ist es auch. Es tut genau das, was es soll, aber es stellt mich halt nicht zufrieden!
Es geht hier ja nicht um die Funktionalität, sondern um sauberen Code, denn so richtig glücklich bin ich halt damit nicht...



Zitat:
Zitat von $traight-$hoota Beitrag anzeigen
Mit strtolower könnte man zwar auch die Großbuchstaben im Array sparen, aber das wäre bei dieser kleinen Menge wohl nur lansamer.
Man könnte noch mehr sparen, wenn man sie ganz weglässt...
Aber mal im ernst - die haben schon ihre Begründung, dass sie groß, bzw. klein sind!
Hier ist ein vereinheitlichen also ein ändern an der Ausgabe!

A sorgt für eine Aufzählung mit A, B, C, ...
während hingegen die Angabe a für a, b, c, ... sorgt.
somit wäre beides möglich.
Mit einem strtolower nicht mehr!

Zitat:
Zitat von $traight-$hoota Beitrag anzeigen
Außerdem könntest du das ganze noch ein bischen weiter optimieren, indem du das str_replace vor der if-abfrage, also bevor die umgebebenden listen-tags generiert werden, ausführst. Diese Strings würden ja sonst umsonst durchsucht.
Okay, das wäre eine Überlegung wert, aber generell fänd ich eine str_replace-freie Lösung ggf. angenehmer!

Zitat:
Zitat von $traight-$hoota Beitrag anzeigen
Und du solltest überprüfen, ob $arrayParameter['__INIT__'] eine zahl ist um kein fehlerhaftes HTML zu erzeugen.
ja, das ist klar!

Allgemein muss ich die übergebenen Werte noch nach Validität prüfen und absichern.


Nachtrag zum strtolower: könnte man so machen, richtig. Ich habe übersehen, dass im erzeugenden Code selbst ja wieder mit dem Original arbeitest...
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (27.02.2008 um 23:10 Uhr).
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten