Seite 1 von 1

Probleme mit HTML (span style)

Verfasst: 09.12.2006 22:07
von Matze½
Hallo Ihr,

ich bin in einem durch die phpBB-Software unterstützen Forum Moderator und möchte in Einträgen durch HTML ein paar Texte und Links mit farbigen (Texten und) Hintergründen versehen. Beispielsweise so:
<span color="red">Roter Text</span>
<span style="background-color: #FFFF00">Gelber Hintergrund</span>

Leider bleibt der Text farblos, obwohl HTML aktiviert ist und die nötigen Tags wie z.B. "span" oder "span style" zulässig sind. Gibt es da vielleicht eine andere Einstellung, die die Farben wieder überlagert? Der Style ist jedenfalls subSilver.

Hat da jemand eine Idee?

Gruß, Matze½

Verfasst: 09.12.2006 23:02
von gn#36
style lässt sich nicht so ohne weiteres erlauben denn im Quellcode in der includes/functions_post.php Funktion clean_html steht das hier:

Code: Alles auswählen

$disallowed_attributes = '/^(?:style|on)/i';
Womit style als Attribut verboten wird und daher entfernt wird.
Das andere Beispiel funktioniert nicht einmal so ohne Forum.
-> Wenn du willst dass es mit style="..." funktioniert müsstest du die oben gepostete Zeile entsprechend anpassen. Sofern aber jeder in dem Forum HTML posten darf kann das evtl. das Layout ziemlich zerstören.
Warum gibst du nicht einfach das uralt-Tag Font frei und machst es damit:

Code: Alles auswählen

<font color="red">TEST</font>
Oder noch viel besser: Benutz einfach die eingebauten bbCodes:

Code: Alles auswählen

[color=red]ROTER TEXT[/color]
Oder bau einen neuen bbCode der das genauso funktioniert und eben das ganze in <span style="background-color:{FARBE}"> ... </span> einbaut...

Verfasst: 09.12.2006 23:15
von Miriam
Aber style als attribut kannst Du durchgehen lassen, wenn Du in der includes/functions_post.php das hier findest:

Code: Alles auswählen

				if (preg_match($disallowed_attributes, $test[1][$i]))
				{
					continue;
				} 
und es auskommentierst.

Aber BBCodes wären wohl besser und usertechnisch angebrachter.... :)


Code: Alles auswählen

<span color="red">Roter Text</span>
klappt eh nicht. Eher:

Code: Alles auswählen

<span style="color: red;">Roter Text</span>

Verfasst: 09.12.2006 23:18
von gn#36
Miriam hat geschrieben:Aber style als attribut kannst Du durchgehen lassen, wenn Du in der includes/functions_post.php das hier findest:

Code: Alles auswählen

				if (preg_match($disallowed_attributes, $test[1][$i]))
				{
					continue;
				} 
und es auskommentierst.
... Was letztlich nichts anderes ist, als diese Zeile

Code: Alles auswählen

$disallowed_attributes = '/^(?:style|on)/i';
z.B. so

Code: Alles auswählen

$disallowed_attributes = '/^(on)/i';
anzupassen, wodurch onMousemove, onClick, ... weiterhin verboten blieben.

Verfasst: 10.12.2006 10:35
von Miriam
*Das muss einem dummen Menschen doch gesagt werden.... :) *


Nicht zu vergessen: ondblclick, onmousedown, onmouseup, onmouseover, onmouseout, onkeypress, onkeydown, onkeyup.

Aber die gehen in style ja nicht (Schwein gehabt).

Verfasst: 10.12.2006 11:39
von Matze½
Ouu, ich sehe schon, daß das nicht ganz so einfach ist, wie gedacht. Mal gucken, ob ich das mit dem Admin, der nicht ganz so viel Ahnung von Technik hat, hinbekomme.

Da es sich größtenteils um Hintergrundfarbe für Listeneinträge in einem Post handelt, ginge es dann nicht auch über eine table in dem Stil?:

Code: Alles auswählen

   <table>
    <tr>
      <td bgcolor="#FF0000">110 203</td>
    </tr>
    <tr>
      <td bgcolor="#FFFF00">115 205</td>
    </tr>
  </table>
Natürlich durch Erlauben der table, td und tr tags... Wäre es so auch ohne Änderung der Codezeilen in den php Dateien möglich?

Gruß, Matze½

Verfasst: 10.12.2006 11:53
von gn#36
Das klappt, du solltest nur darauf achten das möglichst alles in eine Zeile zu quetschen (alle Zeilenumbrüche werden zu <br>, das gibt sonst ziemlich riesige blanks), nur einen Teil des Textes hervorzuheben wird außerdem Schwierig, die Tabelle wird immer in einer eigenen Zeile stehen.

Wenn du einfach die Zeile die ich angegeben habe anpasst sollte es auch funktionieren mit style.
Auf die schnelle habe ich jetzt zwar keinen gefunden, aber vielleicht gibt es hierzu auch schon einen fertigen bbCode. Wenn nicht ließe sich der recht einfach schreiben, dann müsste dein Admin nur in der Lage sein einen Mod einzubauen.