1

simple_html_domNet_URL2を使用して、完全な URL への相対パスを正規化しようとしています。このようなパスは、このsrc="/my_path"ようなスクリプトによって正規化されますが、次のようなパスは正規化されません。このようなパスを正規化する方法は?src="my_path"

例:

$uri = new Net_URL2("http://test.com");
print $uri->resolve('/my_path') . "\n"; // works
print $uri->resolve('my_path') . "\n";  // doesn't work!
4

1 に答える 1

1

あなたが説明しているのは、Net_URL2 の既知のバグです: http://pear.php.net/bugs/bug.php?id=19176

チケットにはそれを修正するパッチがありますが、pear パッケージ自体ではまだ修正されていません。パッチ:

Index: Net/URL2.php
===================================================================
--- Net/URL2.php    (revision 323857)
+++ Net/URL2.php    (revision )
@@ -720,7 +720,7 @@
                     } else {
                         // Merge paths (RFC 3986, section 5.2.3)
                         if ($this->_host !== false && $this->_path == '') {
-                            $target->_path = '/' . $this->_path;
+                            $target->_path = '/' . $reference->_path;
                         } else {
                             $i = strrpos($this->_path, '/');
                             if ($i !== false) {
于 2012-05-30T11:27:25.010 に答える