Images.php
[Pman.Core] / Images.php
index 5cb8a02..327fa8c 100644 (file)
@@ -409,9 +409,9 @@ class Pman_Core_Images extends Pman
         $baseURL = $ff->Pman_Images['public_baseURL'];
         
         libxml_use_internal_errors(true);
-        $doc = new DOMDocument();
-        $doc->loadHTML($html);
-        $imgs = $doc->getElementsByTagName('img');
+        $dom = new DOMDocument();
+        $dom->loadHTML("<?xml encoding='utf-8'?> <div id='tmp_dom_wrapper'>{$html}</div>");
+        $imgs = $dom->getElementsByTagName('img');
        
         
         foreach($imgs as $img) {
@@ -442,7 +442,7 @@ class Pman_Core_Images extends Pman
             
         }
         
-        $anchors = $doc->getElementsByTagName('a');
+        $anchors = $dom->getElementsByTagName('a');
         $result = array();
         preg_match_all('/<a\s+[^>]+>/i',$html, $result); 
 
@@ -455,6 +455,12 @@ class Pman_Core_Images extends Pman
             $anc->setAttribute('href', self::domImgUrl($baseURL, $href));
         }
         
+        
+        $inner = $dom->getElementById("tmp_dom_wrapper");
+        $html = '';
+        foreach ($inner->childNodes as $child) {
+            $html .= ($dom->saveHTML($child));
+        }
         return $html;
     }
     
@@ -527,12 +533,15 @@ class Pman_Core_Images extends Pman
         
          
     }
+    
     static function replaceDataUrl($baseURL, $img, $obj)
     {
         $d = DB_DataObject::Factory('Images');
         $d->object($obj);
+        
+        
         $d->createFromData($img->getAttribute('src'));
-        $img->setAttribute('src', $d->URL(-1, 'Images' , $baseURL));
+        $img->setAttribute('src', $d->URL(-1, '/Images' , $baseURL));
     }
     
     static function replaceImgUrl($html, $baseURL, $tag, $attr, $attr_name)