[pmwiki-users-de] Padleft im PMWiki umsetzen

Michael Engelke PmWiki at MEngelke.de
Fr Jan 25 11:58:21 CST 2008


maglister at web.de schrieb:
> Ja, welch ein Zauber!
>
> Hab da gleich mal eine 'padleft.php' erstellt und sie in der 'cookbook_inc.php' angemeldet. Und es funktioniert auf Anhieb! Sehr schön!
> Einen klitzekleinen Schönheitsfehler gibt es da noch:
>
> Ab Seite 11 abwärts sind die Seiten natürlich nicht mehr bekannt (11-11=0). Kann man da noch eine Bedingung einbauen, welche ab "0" nur "++++" schreibt?
> Ach nein, das geht ja gar nicht! Padleft wertet ja kein Ergebnis aus, es bringt das Ergebnis in Form. Naja, auch nicht schlimm.
>   

Ich verstehe das Problem nicht genau! Ich habe mal Spaßeshalber das 
Markup umgeschrieben - so das eine eigene Funktion ausgeführt wird:

Markup('padleft','inline',"/\\{\\{padleft:([^|]+)\|([0-9]+)\|([^|]+)\\}\\}/e","mystrpad('$1',$2,'$3')");
function mystrpad($str,$len,$pad) {
 return str_pad($str,$len,$pad,STR_PAD_LEFT);
}

Jetzt brauchst Du nur noch die Funktion mystrpad nach deinen 
Vorstellungen anpassen. (PHP-Kenntnisse Vorausgesetzt)

Wenn Du sowieso MarkupExpression einsetzt, könntest Du auch folgene 
Möglichkeit einsetzen:

 SDV($MarkupExpr['padleft'], 
'str_pad($args[0],$args[1],$args[2],STR_PAD_LEFT)');

Beispiel: {(padleft foobar 20 .)} ..............foobar
Getestet mit: pmwiki-2.2.0-beta65

> Dein Markup ist prima! Ganz herzlichen Dank dafür.
>
> Ich muß unbedingt hinter das Geheimnis dieser Aneinanderreiheung von Zeichen kommen.

http://www.php-faq.de/ch/ch-regexp.html

> Wer kümmerliche Englischkenntnisse hat (so wie ich) ist da klar im Nachteil. PHP.net brachte mich nicht weiter, trotz ausführlicher deutscher Erklärung. 

Pmwiki.org hat eigentlich alles wichtige auf Deutsch erklärt: 
http://www.pmwiki.org/wiki/PmWikiDe/CustomMarkup

Ich selber habe ebenfalls schlechte Englischkenntnisse, aber Google und 
die Übersetzungsfunktionen helfen da manchmal weiter...
Wegen meiner Englischkenntnisse, habe meine selbstgeschriebenden 
Erweiterungen auch nicht in pmwiki.org veröffentlicht: 
http://mengelke.dyndns.org/pmwiki/wiki/Kochbuch

> Ich hab die passenderen Seiten noch gar nicht entdeckt im Netz.
>   

Also erstmal: http://www.pmwiki.de/
Für PHP: http://www.php-faq.de/ http://www.selfphp.de/ 
http://www.php.net/manual/de/
Und meine wichtigste Seite: http://www.google.de/ ;-)

-- 
eMail: PmWiki at MEngelke.de      ICQ: 267544462      Homepage: www.MEngelke.de