Bestimmte Zeichen rausfiltern

xony

Erfahrenes Mitglied
Hallo Leute,

mit strip_tags() kann man HTML TAGS rausfiltern, lässt sich das auch mit bestimmten Zeichen machen.

Ich sollte hochkommas aus dem Text filtern.

Danke für den Tipp.
 
Ja klar.
Ich glaub ich sollt mal ne Pause machen.
Sorry.

Aber die doppelten hochkommas also Anführungszeichen lassen sich so leider nicht entfernen. Das löst einen Parse Error aus.

Gruss
 
Zuletzt bearbeitet:
Weil sonst das Javascript nicht funktioniert.
Ich habe in der Javascriptfunktion return escape dynamischen Inhalt:
Und sobald hochkommas drinnen sind dann funktioniert das Script nicht mehr.


PHP:
<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '" onmouseover="return escape(\'<table class=tooltip_tabelle cellpadding=0 cellspacing=0><tr><td class=tooltip_header>'.$new_products['products_name'].'</td></tr><tr><td class=tooltip_body >'. str_replace("'","",strip_tags($new_products['products_description'])).'</td></tr></table>\');">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a>


Jetzt habe ich allerdings noch das Problem das Anführungszeichen anscheinend nicht gefiltert werden können, das löst einen Parse Error aus.
Hat jemand einen Tipp.
 
Probier mal:

PHP:
str_replace('"','',$text);

Vielleicht gehts. Wär meine einzige Idee. Vielleicht gibts irgendwie ne Möglichkeit das " als Zeichen darzustellen. Probiers doch mal mit dem ASCII Code für das Anführungszeichen und setz den ein. Also so:

PHP:
str_replace(chr(34),"",$text);

Danube hat somit die Idee die ich hatte aber nicht wusste wie zuerst gefunden :)
 
Ja ein Super dankeschön.
Das funktioniert.
Aber es ist wie verhext, denn will ich beide auf einmal filtern dann funktioniert das Script wieder nicht.

Beide hochkommas filtern:

str_replace(CHR(34),"'",strip_tags($new_products['products_description']))

oder

str_replace(CHR(34),CHR(39),strip_tags($new_products['products_description']))

Is doch richtig oder?!
 
Filter sie doch nacheinander raus. Also in 2 Befehlen, weil ich glaub nicht das das so funktioniert wie du das gemacht hast.

Funktionsbeschreibung

Machs doch so:
PHP:
str_replace(CHR(34),"",strip_tags($new_products['products_description']));
str_replace(CHR(39),"",strip_tags($new_products['products_description']));
 
Zurück