Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
HTML Code in Beiträgen erweitern...
#1
Hallo,

wonach entscheidet das Script welche HTML-Tags man verwenden kann?

Die Verwendung von <!--Kommentar--> ist leider nicht möglich.

Kann man das irgendwo hinzufügen?

Viele Grüße
Mathias

PS. HTML ist angeschaltet. Bitte keine Pseudo-Antworten mehr... Wink
Zitieren
#2
Dies wird in der class_parser.php definiert. Die Kommentare sind zwar schon festgelegt, werden aber als normaler Text geparst. Alle weiteren HTML´s sollten darin definiert sein, ganz genau kann ich es dir nicht sagen.

Ist nicht ganz perfekt, aber versuche es mal so.

Öffne die  inc/class_parser.php und Suche da nach

PHP-Code:
if(empty($this->options['allow_html']))
{
$message $this->parse_html($message);
}
else
{
while(
preg_match("#<s(cript|tyle)(.*)>(.*)</s(cript|tyle)(.*)>#is"$message))
{
$message preg_replace("#<s(cript|tyle)(.*)>(.*)</s(cript|tyle)(.*)>#is""&lt;s$1$2&gt;$3&lt;/s$4$5&gt;"$message);
}

$find = array('<?php''<!--''-->''?>'"<br />\n""<br>\n");
$replace = array('&lt;?php''&lt;!--''--&gt;''?&gt;'"\n""\n");
$message str_replace($find$replace$message);


und ersetze es mit diesem

PHP-Code:
if(empty($this->options['allow_html']))
{
$message $this->parse_html($message);
}
else
{
while(
preg_match("#<s(cript|tyle)(.*)>(.*)</s(cript|tyle)(.*)>#is"$message))
{
$message preg_replace("#<s(cript|tyle)(.*)>(.*)</s(cript|tyle)(.*)>#is""&lt;s$1$2&gt;$3&lt;/s$4$5&gt;"$message);
}

$find = array('<?php''<!--(.*)''(.*)-->''?>'"<br />\n""<br>\n");
$replace = array('&lt;?php''<div style="display: none;">&lt;!-- (.*)''(.*) --&gt;</div>''?&gt;'"\n""\n");
$message str_replace($find$replace$message);

Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#3
Haha ja, display none... Big Grin
Guter Einfall eigentlich!

Ja passt doch erst einmal... Kommt ja nichts zu schaden dadurch.
Ich vermute sowieso, dass es eventuell gar nicht anders ginge.

Irgendwie begreift der Beitrag einfach nicht, dass es kein normaler Text ist sondern HTML.

Also führt wohl kein Weg vorbei daran das so zu machen.

Werde das mal Testen - besten Dank!

Ich sehe da irgendetwas mit Script. Letztens habe ich versucht den Google Adsense Code in Beiträge einzufügen und das funktioniert auch nicht richtig. Kann das auch damit zusammenhängen?

Naja leider macht das div Element ein Leerzeichen rein...
Zitieren
#4
Dann tausche mal da div gegen einen span ein. Vieleicht funktioniert es damit ja besser. Leider habe ich mit HTML in Beiträgen noch keinerlei Erfahrung sammeln können, denn ich brauchte es bis Dato noch nie.
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#5
Da hilft leider nichts.... Hab Span versucht, hab font-size: 0; versucht und die \n 's weg gemacht. Leider haut der immer wieder 'ne Leerzeile rein... Naja....
Zitieren
#6
Ich glaube man muss das nur in die selbe Zeile neben dem HTML Code schreiben, dann sollte es eigentlich keine zusätzliche Zeile geben ist mir mal so eingefallen...
Zitieren
#7
Der Code von MrBrechreiz kann nicht funktionieren, da str_replace keine regulären Ausdrücke wie (.*) kennt.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#8
Ich weiß nicht was du meinst. Er funktioniert, wegen display: none; - Es ging hier lediglich noch um die Leerzeichen. Wenn du weißt wie es besser geht, bist du natürlich herzlichst eingeladen deine verbesserte Version hier zu posten... (Y)
Zitieren