• Welcome to WebsiteBaker Community Forum. Please log in or sign up.
Welcome, Guest
News
Support WebsiteBaker
Your donations will help to:
PayPal
  • Pay for our dedicated server
  • Pay for domain registration
  • and much more!
You can donate by clicking on the button below.

WYSIWYG Editor verstümmelt Bild URLs beim speichern?

Started by xantiva, January 01, 2022, 11:29:02 PM  ( Read 9,152 times )

xantiva

Ich versuche ein Bild mit einem absoluten Pfad abzuspeichern (/media/example.jpg). Nach dem Speichern steht in der Datenbank aber die URL davor, allerdings ohne slashes, so dass die URL "kaputt" ist:
src="http:www.example.com/media/example.jpg"

Wenn ich ein Bild über den Editor einfüge, dann wird immer die komplette URL eingetragen. Das ist aber suboptimal für künftige Änderungen und sei es nur, dass man von http auf https wechseln möchte.

Version 2.13.0 r63 unter PHP 8.014

    xantiva

    QuoteReplace URLs witch are pointing into MEDIA_DIRECTORY with an URL independend placeholder

    Ok, was soll die Methode ReplaceAbsoluteMediaUrl aus der Class wb denn wirklich machen? Scheinbar greift die 3. RegEx?

    $this->oReg->AppUrl  => "https://xartonda.xantiva.de/"
    $sRelUrl => "/"
    $sDocumentRootUrl => "https:xartonda.xantiva.de"
    $sMediaUrl => "https://xartonda.xantiva.de/media//"
    $aSearchfor => array(4) {
     [
    0]=>
     
    string(70) "@(<[^>]*=\s*")(https\://xartonda\.xantiva\.de/media//)([^">]*".*>)@siU"
     
    [1]=>
     
    string(64) "@(<[^>]*=\s*")(https\://xartonda\.xantiva\.de//)([^">]*".*>)@siU"
     
    [2]=>
     
    string(41) "/(<[^>]*?=\s*\")(\/+)([^\"]*?\"[^>]*?)/is"
     
    [3]=>
     
    string(75) "/(<[^>]*=\s*")(https\:\/\/xartonda\.xantiva\.de\/media\/\/)([^">]*".*>)/siU"
    }
    $aReplacements =>
    array(4) {
     [0]=>
     string(28) "
    $1{SYSVAR:AppUrl.MediaDir}$3"
     [1]=>
     string(19) "
    $1{SYSVAR:AppUrl}$3"
     [2]=>
     string(30) "
    \1https:xartonda.xantiva.de/\3"
     [3]=>
     string(22) "
    $1{SYSVAR:MEDIA_REL}$3"
    }
    string(1341) "



    Ich habe den Aufruf der Methode erst mal in der save.php deaktiviert.

      dbs

      Hallo, deaktiviere einfach alles was dir nicht gefällt. Das ist eine Möglichkeit.

      Du könntest aber auch einfach das Bild normal hinzufügen. Denn genau für solche Dinge wie Umzüge ist die Funktion ReplaceAbsoluteMedi aUrl da.
      In der Datenbank ist die Domain normalerweise nicht gespeichert, sondern wird ersetzt mit sowas wie {SysvarMediaUrl} oder so ähnlich.
      In WB2.13 sollte das auch so sein. Wenn nicht, ist das ein Fehler.

        xantiva

        Wenn ich ein Bild über das "Image"-Tool des Editors einfüge, dann steht dort die komplette URL inkl. der Domain im Quelltext des Editors. Und genau so wird sie dann auch in der Datenbank gespeichert. Das wäre dann ein Bug?

        Liegt vielleicht daran, dass schon der Inhalt der Variable $sMediaUrl ein Slash am Ende zu viel hat?

        $sMediaUrl => "https://xartonda.xantiva.de/media//"

          \n\n