Registrieren  •  Login 
  
 
im Forum


 FAQ   Mitgliederliste   Benutzergruppen   Teamseite   Suchen 

HTML filtern

 
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 17.10.2007, 18:41    Titel: HTML filtern

Hallo zusammen!

Ich würde in meinem Gästebuch gerne folgendes einbauen:

in der Überprüfung, ob alle Felder ausgefüllt sind (beim Eintragen ins GB) möchte ich gerne prüfen, ob ausser <b>, <i>, <u> und <br /> noch andere HTML-Tags vorhanden sind und den Besucher darauf hinweisen, dass diese Tags nicht erlaubt sind...

Gibt es so eine Variante?
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13929
Wohnort: Wien

BeitragVerfasst am: 17.10.2007, 18:58    Titel:

Hallo thoha.

<br /> brauchst ja eigentlich nicht, kannst also einfach mit
Code:
preg_replace('/<br.*?>/', "\n")

ersetzen.

Versuchs mal so, war P@k.l's Idee gerade im Chat:
PHP-Code:
1
2
3
4
5
6
7
8
9
10
<?php
$orig 
= array('&lt;b&gt;');
$repl = array('<b>');

// Bei der Ausgabe
$message htmlspecialchars($message);
$message str_replace($orig$repl$message);
// ...

?>


Alternativ kannst natürlich auch einfach BBCodes verwenden, geht auch ganz schnell zu selber schreiben:
PHP-Code:
1
2
3
4
5
6
7
8
<?php

// Bei der Ausgabe
$message htmlspecialchars($message);
$message preg_replace('/[b](.*?)[/b]/''<b>$1</b>');
// ...

?>


Um zu Überprüfen, ob unerlaubte HTML Tags benutzt wurden, gäbe es auch einen Trick, aber BBCodes wären vermutlich das einfachste, da die meisten user das kennen, HTML Tags aber nicht (auch wenn sie noch so ähnlich sind).
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
<?php

// Beim Absenden überprüfen
$orig $message
$new 
strip_tags($message'<b><i><u>');
if(
$new != $orig)
{
    die(
'Unerlaubte HTML Tags benutzt!');
}

?>

Ich hoffe, dass dir die Beispiele weiterhelfen Wink
Musst halt einfach erweitern, das Grundgerüst existiert ja.


MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
lupus
Mitglied
Mitglied



Anmeldedatum: 30.09.2007
Geschlecht: Männlich
Beiträge: 85
Wohnort: Karlsruhe

BeitragVerfasst am: 17.10.2007, 19:10    Titel:

ähnliche idee mit anderer syntax:

1. Alle < und > durch &lt; und &gt; ersetzen
2. "&lt;b&gt;" mit "<b>", "&lt:/b&gt;" mit </b> ersetzen usw. Das kannst du alternativ auch in n array schreiben...

PHP-Code:
1
2
3
4
5
6
7
8
9
<?php $string 'irgendein html';
$replaces = array('b','i','u');
$string htmlspecialchars($string);
$string str_replace('&lt;br/&gt;','<br/>',$string);

foreach(
$array as $content) {
    
$string str_replace('&lt;'.$content.'&gt;','<'.$content.'>',$string);
    
$string str_replace('&lt;/'.$content.'&gt;','</'.$content.'>',$string);


Dieser Beitrag wurde insgesamt 2 mal geändert. Zuletzt von killerbees19.
Nach oben
Benutzer-Profile anzeigen lupus ist derzeit offline Private Nachricht senden Website dieses Benutzers besuchen
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13929
Wohnort: Wien

BeitragVerfasst am: 17.10.2007, 19:29    Titel:

@lupus: Ich habe [code] statt den [php] Tags benutzt, denn scheinbar ist da noch immer ein Bug, da man &gt; und &lt; nicht schreiben kann. Werde ich dann morgen mal suchen und beheben, bis dahin bitte [code] nutzen, wenn &gt; oder &lt; vorkommt Wink

Update: Sollte nun behoben sein. &lt; und &gt; kann wieder innerhalb von [php] Tags benutzt werden Very Happy


MfG Christian
_________________


Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von killerbees19.
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 17.10.2007, 21:16    Titel:

killerbees19 hat Folgendes geschrieben:


<br /> brauchst ja eigentlich nicht, kannst also einfach mit
Code:
preg_replace('/<br.*?>/', "\n")

ersetzen.



Warning: Wrong parameter count for preg_replace() in /home/www/web432/html/sites/gb/index.php on line 48


Was heisst das? ich hab' einfach preg_replace('/<br.*?>/', "\n"); in den Quellcode eingefügt..
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13929
Wohnort: Wien

BeitragVerfasst am: 18.10.2007, 13:44    Titel:

Wennst genau schaust fehlt da der dritte Parameter, ist mir beim schnellen Tippen halt passiert....
$message (oder wie auch immer die Variable halt heißt) gehört als dritter Parameter an die Funktion übergeben Wink


MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 18.10.2007, 21:53    Titel:

ok... werd' ich ändern sobald ich den Virus los bin... *angstumdenpchab*
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 20.10.2007, 13:45    Titel:

ok... ne weitere Frage:

kennt jemand eine Funktion, mit der man jegliche HTML-Tags aus dem Text schmeissen kann? Also dass im Text, der in die DB muss, nur noch der Text (also "Hallo, blabla") und gar kein HTML mehr drin ist?
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
Qu4rK
Mitglied
Mitglied



Anmeldedatum: 12.07.2006
Geschlecht: Männlich
Beiträge: 261
Wohnort: Bayreuth

BeitragVerfasst am: 20.10.2007, 14:07    Titel:

thoha hat Folgendes geschrieben:
ok... ne weitere Frage:

kennt jemand eine Funktion, mit der man jegliche HTML-Tags aus dem Text schmeissen kann? Also dass im Text, der in die DB muss, nur noch der Text (also "Hallo, blabla") und gar kein HTML mehr drin ist?


Die Funktion wurde bereits oben angesprochen und nennt sich strip_tags. Wink
_________________
"Ubuntu" - an African word, meaning "Slackware is too hard for me"

Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von Qu4rK.
Nach oben
Benutzer-Profile anzeigen Qu4rK ist derzeit offline Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht teilnehmen.
Du kannst Dateien in diesem Forum nicht hochladen.
Du kannst Dateien in diesem Forum nicht herunterladen.

 

Alle Zeiten sind GMT + 2 Stunden (Sommerzeit)
Aktuelles Datum und Uhrzeit: 02.04.2020, 23:45
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!
Software based on work from the phpBB-Group  •  Deutsche Übersetzung von phpBB.de

netcup - Internetdienstleistungen
 
 
[ happytec.at | forum.happytec.at | blog.happytec.at | esports.happytec.at | event.happytec.at ]