瀏覽代碼

Fix search metachar escaping, fixes #429

Jordi Boggiano 11 年之前
父節點
當前提交
d435f2fbdf
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/Packagist/WebBundle/Controller/WebController.php

+ 2 - 2
src/Packagist/WebBundle/Controller/WebController.php

@@ -287,11 +287,11 @@ class WebController extends Controller
                 $form->bind($req);
                 if ($form->isValid()) {
                     $escapedQuery = $select->getHelper()->escapeTerm($form->getData()->getQuery());
-                    $escapedQuery = preg_replace('/(^| )\\\\-/', '$1-', $escapedQuery);
+                    $escapedQuery = preg_replace('/(^| )\\\\-(\S)/', '$1-$2', $escapedQuery);
+                    $escapedQuery = preg_replace('/(^| )\\\\\+(\S)/', '$1+$2', $escapedQuery);
                     if ((substr_count($escapedQuery, '"') % 2) == 0) {
                         $escapedQuery = str_replace('\\"', '"', $escapedQuery);
                     }
-                    $escapedQuery = str_replace('\\+', '+', $escapedQuery);
                     $select->setQuery($escapedQuery);
                 }
             }