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.

[Reguläre Ausdrücke] Eigene Tagbereiche Suche + Ersetzen

Empfohlene Antworten

Veröffentlicht

Hi,

habe eine Frage zu Regulären Ausdrücken. Benutze die Funktion

preg_replace und möchte damit Textauschnitte ersetzen.

<MEIN_TAG>

<tr><td>{*MEIN_TAG*}</td></tr>

<tr><td>Noch ein Block.</td></tr>

</MEIN_TAG>

Versuche den Auschnitt <MEIN_TAG>...</MEIN_TAG> inklusive der Tags

ersetzen.

Hatte mir das so vorgestellt

preg_replace( "/<" . $tag . ">(.*)<\/" . $tag . ">/", ..., ...);

Wäre echt nett wenn mir mal einer einen Tipp geben könnte.

Gruß

Andreas

preg_replace( "@<" . $tag . ">(.*)</" . $tag . ">@", "", $string);

ungetestet!

Gruß,

Markus

Solange sich dein Tag nicht über mehrere Zeilen erstreckt sollte die Lösung von kills funktionieren, was auch immer diese @ da sollen (kann sein, dass kills da mehr weiss als ich). Es könnte evtl. an einer Stelle stress geben, da / eigentlich die "Einleitung" eines Modifikators sind. Solltest das / durch ein \ escapen, dann sollte es gehen, wobei ich, falls es ein pseudo-Tag in solch einem Format <...> wird, von dieser Nutzung abraten. HTML/XML halt :D

Also erstmal dankeschön für Eure Antwort,

habe den Vorschlag von kills mal ausprobiert und er hat leider

nicht das gewünschte Ergebnis gebracht. Habe Ihn so eingebaut

preg_replace( "@<" . $tag . ">(.*)<\/" . $tag . ">@", "", $string);
Habe danach noch ein Paar eigene Versuche gestartet und bin auf folgenden Ausdruck gestoßen:
preg_replace("/<" . $tag . ">([[:print:]|[:cntrl:]]*)<\/" . $tag . ">/", ..., ...);
Der hat mir das gewünschte Ergebnis geliefert.
[:print:]
-> Jedes Druckbare Zeichen inklusiver Leerzeichen
[:cntrl:] 
-> Steuerzeichen
[[:print:]|[cntrl]]* 

beliebig viele oder kein [ Druckbares Zeichen oder

Steuerzeichen ]

Hoffe das meine Interpretaion dieses Ausdruckes soweit korrekt ist?

Wenn noch jemand eine elegante oder korrekte Lösung hat - nur her damit;)

Gruß

Andreas

Hoppla,

habe gerade gesehen, daß das Oder [...|...] überhaupt nicht notwendig

ist und in diesem Ausdruck auch gar kein Oder ist.

Gruß

Andreas

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.