[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2017
    Beiträge
    2

    HTML-Code per SQL aus DB-Feld entfernen

    Hallo *all,

    ich möchte verschiedene HTML-Befehle innerhalb eines Text-Feldes per SQL entfernen. Ein REPLACE fällt wegen der fehlenden generischen Möglichkeit wohl aus. Zudem sollte das bereinigte Feld bereits in der Feldliste der SELECT Anweisung enthalten sein, da die Daten innerhalb eines Reporting-Tool aufgerufen werden. Ein UPDATE fällt also auch aus.

    Kann man irgendwie die Zeichen zwischen "<" und ">" (bzw. incl. der <>) bereits beim SELECT entfernen?

    Besten Dank im Voraus für etwaige Vorschläge.

    Thomas.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Sind die HTML-Codes genau bekannt, kannst du dies nur per geschachteltem REPLACE durchführen:
    replace(replace(TextFeld, HTML-Code, ''), HTML-Code, '')...

    Da es viele HTML-Codes gibt, ist das eher unzuverlässig. Hier bietet sich dann eine selbstgestrickte UDF an, die dann z.B. in ILERPG den String vom HTML befreit.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2014
    Beiträge
    179
    Hallo,

    das geht mit regex_replace
    z.B. um für eine Telefonnumer nur die Ziffern zu extrahieren und nicht die übrigen Zeichen sieht es so aus.

    SELECT PHONE_NUMBER, REGEXP_REPLACE(PHONE_NUMBER,'[^\d]’,”)
    FROM MYTABLE;

    +49(1234)-123-1234, 4912341231234

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Stimmt, trotzdem müssen in diesm Fall sämtliche entfernbare HTML-Codes aufgelistet werden, dabei ist beim RegEx der Vorteil, falls unterstützt, dass man mittels "(Code1|Code2|...|CodeN)" alle Varianten in einem aufführen muss.
    Und wohl dem, der, wieder mal, bereits V7R3 hat.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    Moin,
    mir fällt dabei POSSTR und Locate ein.
    So sattelfest bin ich da nicht, aber damit kannst du doch nach < und > suchen.
    zur not mit einem
    With a as (select eindeutiger_key, Posstr... as von from ...),
    b as (select eindeutiger_key, Posstr... as bis from ...)
    select substr(feld, 1, von-1) concat substr(feld, bis+1, ) from datei, a, b, ...

    nur als idee

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ja, ein ähnliches Problem mit Locate habe ich auch gerade gehabt.
    Man zerlege ein internes CSV-Feld (4 Werte mit Semikolon getrennt) in seine Bestandteile.
    Um das 4. Semicolon zu ermitteln, musst du den Locate 3 Mal verschachteln.
    Nun mach das mal mit einem HTML-Document, in dem du den 20. HTML-Code ermitteln willst...
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Dec 2000
    Beiträge
    279
    Hallo zusammen.
    bei CSV mach ich das über einen (RPG) SCAN (nicht free Format) und als Ergebnis in eine Tabelle,
    Dann steht in jedem Element ein Vorkommen des gesuchten Zeichens. Dann den Rest über %SUBST

    z.B.
    d $v 3s 0 dim(15)

    c ';' scan meinfeld $v

    %scan im Free Format liefert leider nur das erste Vorkommen

    Klaus

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    %SCAN(search argument : source string {: start})
    D.h., durch Angabe der Startposition kann man ebenso das (n)te Vorkommen ermitteln.
    Die Array-Funktion des SCAN ist da schon netter, wer weiß, ggf. implementiert die IBM das dann auch noch.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Jan 2017
    Beiträge
    2
    Vielen Dank für die Antworten,

    ich werde die Anregungen und Hinweise aufnehmen und versuchen umzusetzen.

    Thomas

Similar Threads

  1. HTML Dokumente aus dem IFS im Internetexplorer
    By AndreasH in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 13-06-03, 16:22
  2. IPDS-Druck nach HTML
    By Ludger Muhmann in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-02-03, 09:39
  3. Neu! Native EXCEL, PDF, HTML verarbeiten
    By andigoering in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 08-11-02, 16:27
  4. SPOOL in HTML
    By Andreas Herzfeldt in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 19-01-02, 10:19
  5. drucker entfernen
    By delphix in forum NEWSboard Drucker
    Antworten: 12
    Letzter Beitrag: 22-11-01, 17:26

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •