Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] htmlspecialchars --> Tags nicht entfernen

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich möchte folgende tun und finde keine Lösung:

In einem Newsposting-Textarea kann der Autor Text mit html-Tags eingeben.

Eine Eingabe kann nach dem Absenden z.b. so aussehen ($news_long):


Hallo Leute


<img src="bild.gif" alt=""/>Das <b>ist</b> ein "Test".....

Wenn ich den Code so in einer HTML-Seite ausgeben lasse ist er nicht xhtml valid, aufgrund der Anführungszeichen vor und nach Test...

Wandele ich diese nun mit htmlspecialchars um, so werden auch die HTML-Tag umgewandelt, das möchte ich aber verhindern...

hat jemand eine Idee?

1. Rückkodieren. str_replace mit $lt; und $gt;

oder

2. html_special_chars / html_entities verwendet ein Array, soweit ich weis kann man das auch angeben. Dann nimmst du einfach die beiden Felder aus dem Array raus.

Das funktioniert vielleicht bei dem oben gezeigten Beispiel... aber hier würde es auch nicht mehr gehen:

Test <b>Test</b> >>dies ist ein Test<< und so weiter

Denn die >> sollen ja mit umgewandelt werden... nur eben wenn es sich

um Tags handelt sollen sie nicht umgewandelt werden....

regular expression

(<)(.*{1,10})(>)(.*)(<)(\\1)(>)

ist jetzt geraten, aber so ähnlich könnte die rückumwandlung funktionieren.

Warum wandelst du den eingegebenen Text nicht gleich nach dem Absenden um? Oder werden die HTML-Tags auch vom Benutzer mit eingegeben? Wenn letzteres, was haeltst du davon, es so zu machen wie diverse Boards (so auch dieses), dass bestimmte Tags zwar erlaubt sind, aber waehrend des Verfassens in eckige Klammern eingefasst werden muessen? [*B] ohne den Stern waere ein Beispiel.

Es handelt sich um ein Newsbackend und der Quellcode kommt von den Nutzern. Die Idee das ganze mit dem BB-Code zu machen hatte ich auch schon.... werd es wohl nur so lösen können.... :rolleyes:

Es handelt sich um ein Newsbackend und der Quellcode kommt von den Nutzern.

Dann koenntest du die Nutzer ja bitten, ihren Quellcode entsprechend zu verfassen mit den entsprechenden HTML-Sonderzeichen wie &*quot; oder &*gt;, wenn sie keine Tags meinen.

das ist im prinzip kein problem, da es im backend Button, wie hier im forum, gib, über die sie solche Tags einfügen können. Muss nur die Button anpassen....

Danke @ all

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.