Seite 7 von 39
Verfasst: 23.03.2003 17:29
von esperitox
Nun gehts aber wenn man einen der parameter weglässt also statt:
Code: Alles auswählen
[schild=1 fontcolor=FFA500 shadowcolor=8B0000 shieldshadow=1]text im schild[/schild]
das nimmt:
Code: Alles auswählen
[schild=1 shadowcolor=8B0000 shieldshadow=1]text im schild[/schild]
Wird es nur als text angezeigt
esperitox
BTW: Es kam der JS-Fehler "fontcolor ist undefiniert" und ausgegeben als bbcode wurde dann [schild=1 fontcolor=undefined...
Verfasst: 23.03.2003 17:36
von saerdnaer
also bei mir nicht... bei deinem forum funktioniert alles wie es soll...
Verfasst: 23.03.2003 17:49
von saerdnaer
achja
$patterns[] = "#\[schild=([a-z0-9]+)([a-z0-9\-\.,\?!% \*_\#:;~\\&$@\/=\+\\\\)]+)\](.*?)\[/schild\]#sie";
damit das mit dem zufall auch funktioniert...
und könntest du die raute wieder hinzufügen... und die raute im text2schild.php script wieder entfernen damit auch farbnamen benutzt werden können...
ah
Verfasst: 23.03.2003 17:50
von esperitox
Stimmt hast recht hab mich nur verschrieben deswegen gings net
Danke dir für die Hilfe nun läufts perfekt
Frage in die runde: Wie siehts aus mit Schildfarbe/Schildrahmenfarbe sollte die auch einstellbar sein?
das würde den bbcode dann nochmal um 2 einträge verlängern
esperitox
Verfasst: 23.03.2003 17:56
von saerdnaer
du könntest doch einfach den parameter weglassen wenn er auf standart gestellt ist...
achja und nochmal eine änderung damit das auch funktioniert wenn man keine parameter angiebt:
$patterns[] = "#\[schild=([a-z0-9]+)([a-z0-9\-\.,\?!% \*_\#:;~\\&$@\/=\+\\\\)]*)\](.*?)\[/schild\]#sie";
Verfasst: 23.03.2003 18:04
von esperitox
Ohne parameter wäre es dann so oder?
weil das funzt nicht so wirds als text ausgegeben.
Oder meinst du jetzt komplett ohne parameter [schild=1]text[/schild] ?
esperitox
Verfasst: 23.03.2003 18:11
von saerdnaer
und nochmal eine optimierung..
Code: Alles auswählen
function phpbb_schild($smilie, $parameter, $text)
{
$text = trim(urlencode($text));
$fontcolor = '#000000';
$shadowcolor = '#00ff00';
$shieldshadow = '1';
$parameter = trim($parameter);
if ( !empty($parameter) )
{
$parameter = explode(' ', $parameter);
$parameter2 = array();
if ( !empty($parameter) )
{
reset($parameter);
while ( list( , $line) = each($parameter) )
{
if ( ( $pos = strpos(' ' . $line, '=') ) )
{
$name = substr($line, 0, $pos - 1);
$value = substr($line, $pos);
$parameter2[$name] = $value;
}
}
if ( !empty($parameter2['fontcolor']) )
{
$fontcolor = $parameter2['fontcolor'];
}
if ( !empty($parameter2['shadowcolor']) )
{
$shadowcolor = $parameter2['shadowcolor'];
}
if ( !empty($parameter2['shieldshadow']) )
{
$shieldshadow = $parameter2['shieldshadow'];
}
}
}
return "text2schild.php?smilie=$smilie&fontcolor=$fontcolor&shadowcolor=$shadowcolor&shieldshadow=$shieldshadow&text=$text";
}
ah
Verfasst: 23.03.2003 18:19
von esperitox
Also jetzt funktionieren die parameter shadowcolor & fontcolor nicht mehr korrekt wenn man FF0000/00ff00 angibt müsste der text eigentlich in rot angezeigt werden aber es wird in orange angezeigt die angegebenen farben bei fontcolor/shadowcolor werden miteinander gemischt
Wegen den parametern wenn ich einen der beiden parameter fontcolor/shadowcolor weglasse funzt es problemlos aber wenn ich beide weglasse wird es nur als text angezeigt ist es auch möglich das man beide weglassen kann also das es auch so:
funktioniert?
esperitox
Verfasst: 23.03.2003 18:34
von saerdnaer
ähm scharz entspricht dem farbcode 000000 ....
und wegen dem keinen parameter angeben: das meinte ich ja in dem post hier:
->
http://www.phpbb.de/viewtopic.php?p=131085#131085
ah
Verfasst: 23.03.2003 18:43
von esperitox
sry hab mich oben verschrieben schwarz sollte eigentlich rot heissen probiers selbst mal aus in meinem Board wenn du als fontcolor FF0000 und als shadowcolor=00ff00 wird der text in orange angezeigt obwohl er rot sein müsste wenn du red/blue etc. verwedest wird beides in schwarz angezeigt
esperitox