SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.05.2009, 15:11:17
BloodySword BloodySword ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 36
Beiträge: 12
Striptags um erlaubte Attributen erweitern

Bei QUAKENET habe ich folgenden Code von einem Userkommentar gefunden:

PHP-Code:
  function strip_tags_attributes($string,$allowtags=NULL,$allowattributes=NULL){
      if(
$allowattributes){
          if(!
is_array($allowattributes))
              
$allowattributes explode(",",$allowattributes);
          if(
is_array($allowattributes))
              
$allowattributes implode("|",$allowattributes);
          
$rep '/([^>]*) ('.$allowattributes.')(=)(\'.*\'|".*")/i';
          
$string preg_replace($rep'$1 $2_-_-$4'$string);
      }
      if(
preg_match('/([^>]*) (.*)(=\'.*\'|=".*")(.*)/i',$string) > 0){
          
$string preg_replace('/([^>]*) (.*)(=\'.*\'|=".*")(.*)/i''$1$4'$string);
      }
      
$rep '/([^>]*) ('.$allowattributes.')(_-_-)(\'.*\'|".*")/i';
      if(
$allowattributes)
          
$string preg_replace($rep'$1 $2=$4'$string);
      return 
strip_tags($string,$allowtags);
  } 
Wie man sieht kann man den Parameter mit den erlaubten Attributen auch per array übergeben. Genau das habe ich auch gemacht, siehe hier:

PHP-Code:
  function strphtml($str_input,$stripall=false,$dbescape=true) {
    
$allowed_tags=array(
      
'<p>','<br>','<font>','<span>',
      
'<pre>','<strong>','<b>','<i>',
      
'<em>','<u>','<s>','<strike>',
      
'<table>','<tr>','<td>','<th>',
      
'<ul>','<ol>','<li>','<img>'
    
);
    
    
$allowed_attribs=array(
      
'class','name','id','colspan',
      
'rowspan','width','height','href',
      
'target','alt','src','border','align',
      
'valign'
    
);
    
    if (
$stripall==true) {
      
$ret=strip_tags($str_input);
    } else {
      
$ret=strip_tags_attributes($str_input,implode($allowed_tags),$allowed_attribs);
    }
    if (
$dbescape==true) {
      global 
$db;
      
$ret=$db->real_escape_string($ret);
    }
    return 
$ret;
  } 
Leider funktioniert es nicht. Beispielsweise wird das Attribut
HTML-Code:
<p onClick="alert('Warnung! Javascript-Attribut!');">Hallo</p>
nicht entfernt. Ich kenne mich mit regulären Ausdrücken nicht aus und steige durch diesen Zeichensalat nicht durch. Kann mir jemand helfen? Was läuft dort falsch? Oder ist meine Funktion strphtml(); fehlerhaft?

lg BloodySword
Mit Zitat antworten
  #2  
Alt 11.05.2009, 13:03:03
Benutzerbild von Domi
Domi Domi ist offline
Senior Member
 
Registriert seit: Nov 2003
Ort: Kempten @ Allgäu
Alter: 36
Beiträge: 1.408
AW: Striptags um erlaubte Attributen erweitern

Hi,

ein Ansatz für dich wäre doch jetzt erstmal zu überprüfen ob die Funktion strip_tags_attributes() überhaupt funktioniert wie du das willst. Dann weißt du eigtl. schon wo das Problem ist.

Gruß
Domi
__________________

the best way to be ready for the future is to invent it
Mit Zitat antworten
  #3  
Alt 12.05.2009, 18:21:00
BloodySword BloodySword ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 36
Beiträge: 12
AW: Striptags um erlaubte Attributen erweitern

Leider funktioniert sie nicht. Ich kann auch nicht erkennen wieso, da ich keine regulären Ausdrücke verstehe :(.
Mit Zitat antworten
  #4  
Alt 13.05.2009, 10:34:14
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Striptags um erlaubte Attributen erweitern

Zitat:
Zitat von BloodySword Beitrag anzeigen
[...]da ich keine regulären Ausdrücke verstehe
dem kann abgeholfen werden:

php manual
Introduction to PHP Regex
Regular Expression Cheat Sheet
Introduction to the Tutorial

cx
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:39:32 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt