• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Da is HTML drin!

Status
Für weitere Antworten geschlossen.

Dark D.

Neues Mitglied
Hallo zusammen,

gibt es eine Funktion, die prüft, ob in einem String HTML vorkommt?
Also:
PHP:
<?php
    if (da_is_html_drin($string))
    {
        echo "Das is nich erlaubt!";
    }
?>
mfG,
Markus
 
Werbung:
benutz doch einfach htmlspecialchars

damit wandelst du z.b. " in &quote; um ;)
 
Oder strip_tags(); - Dann verschwinden die verwendeten Tags sogar ganz. Problematisch sind dann allerdings noch so Dinge wie ö -> &ouml; Die kannste damit nicht außer Gefecht setzen.
 
Werbung:
PHP:
function da_is_html_drin($text)
{
    return preg_match("/<(.*?)>/", $text);
}
 
naja also , falls du das nicht ersetzten willst sondern nur prüfen:
PHP:
function html_exists($text) {
    return strip_tags($text) == $text ? false : true;
}
 
stellt sich nur die frage ob es schneller ist erst alle tags zu entfernen und dann zu vergleichen oder mit einem regulären ausdruck nur zu überprüfen ob ein html tag drin ist und dann sie suche abzubrechen und ein ergebniss liefern ^^

;)
 
Werbung:
Nein, ich wollte es nur prüfen, nicht erstzen; htmlentities() kenn ich ;)

Das Ganze ist für mein Gästebuch auf phoenixkicker97.de,
da spammen andauernd Julias und Erikas links rein,
die eigentlich nich auf eine website für 11jährige gehören.
Da die aber anscheind nur kopieren, also <a href... verwenden,
wollte ich das prüfen und dementsprechend den Eintrag blocken.
Allgemein wird HTML mit htmlentities() maskiert.
 
stellt sich nur die frage ob es schneller ist erst alle tags zu entfernen und dann zu vergleichen oder mit einem regulären ausdruck nur zu überprüfen ob ein html tag drin ist und dann sie suche abzubrechen und ein ergebniss liefern ^^

;)

natürlich ist der regexp schneller, aber was ist wenn ich nun
< Frank schrieb > Hallo

eingebe, dann versagt der regexp und der besucher wundert sich über die meldung "da ist html drin!"
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben