WYSIWYG Editor verstümmelt Bild URLs beim speichern?

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//"

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.
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

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.

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