Add quotes to comment based strip markers
authorPhantom42 <nikitav30@gmail.com>
Fri, 8 Dec 2017 14:58:04 +0000 (16:58 +0200)
committerPhantom42 <nikitav30@gmail.com>
Fri, 8 Dec 2017 15:00:26 +0000 (17:00 +0200)
Bug: T180159
Change-Id: Ic9dbb8ef3948fe751d16c3963769b616b5db2fc7

includes/parser/LinkHolderArray.php
includes/parser/Parser.php

index bc5182c..816f7f7 100644 (file)
@@ -134,7 +134,7 @@ class LinkHolderArray {
                                $maxId = $newKey > $maxId ? $newKey : $maxId;
                        }
                }
-               $texts = preg_replace_callback( '/(<!--LINK \d+:)(\d+)(-->)/',
+               $texts = preg_replace_callback( '/(<!--LINK\'" \d+:)(\d+)(-->)/',
                        [ $this, 'mergeForeignCallback' ], $texts );
 
                # Renumber interwiki links
@@ -143,7 +143,7 @@ class LinkHolderArray {
                        $this->interwikis[$newKey] = $entry;
                        $maxId = $newKey > $maxId ? $newKey : $maxId;
                }
-               $texts = preg_replace_callback( '/(<!--IWLINK )(\d+)(-->)/',
+               $texts = preg_replace_callback( '/(<!--IWLINK\'" )(\d+)(-->)/',
                        [ $this, 'mergeForeignCallback' ], $texts );
 
                # Set the parent link ID to be beyond the highest used ID
@@ -172,7 +172,7 @@ class LinkHolderArray {
                # Internal links
                $pos = 0;
                while ( $pos < strlen( $text ) ) {
-                       if ( !preg_match( '/<!--LINK (\d+):(\d+)-->/',
+                       if ( !preg_match( '/<!--LINK\'" (\d+):(\d+)-->/',
                                $text, $m, PREG_OFFSET_CAPTURE, $pos )
                        ) {
                                break;
@@ -186,7 +186,7 @@ class LinkHolderArray {
                # Interwiki links
                $pos = 0;
                while ( $pos < strlen( $text ) ) {
-                       if ( !preg_match( '/<!--IWLINK (\d+)-->/', $text, $m, PREG_OFFSET_CAPTURE, $pos ) ) {
+                       if ( !preg_match( '/<!--IWLINK\'" (\d+)-->/', $text, $m, PREG_OFFSET_CAPTURE, $pos ) ) {
                                break;
                        }
                        $key = $m[1][0];
@@ -249,12 +249,12 @@ class LinkHolderArray {
                                // Use a globally unique ID to keep the objects mergable
                                $key = $this->parent->nextLinkID();
                                $this->interwikis[$key] = $entry;
-                               $retVal = "<!--IWLINK $key-->{$trail}";
+                               $retVal = "<!--IWLINK'\" $key-->{$trail}";
                        } else {
                                $key = $this->parent->nextLinkID();
                                $ns = $nt->getNamespace();
                                $this->internals[$ns][$key] = $entry;
-                               $retVal = "<!--LINK $ns:$key-->{$trail}";
+                               $retVal = "<!--LINK'\" $ns:$key-->{$trail}";
                        }
                        $this->size++;
                }
@@ -374,7 +374,7 @@ class LinkHolderArray {
                                $title = $entry['title'];
                                $query = isset( $entry['query'] ) ? $entry['query'] : [];
                                $key = "$ns:$index";
-                               $searchkey = "<!--LINK $key-->";
+                               $searchkey = "<!--LINK'\" $key-->";
                                $displayText = $entry['text'];
                                if ( isset( $entry['selflink'] ) ) {
                                        $replacePairs[$searchkey] = Linker::makeSelfLinkObj( $title, $displayText, $query );
@@ -408,7 +408,7 @@ class LinkHolderArray {
 
                # Do the thing
                $text = preg_replace_callback(
-                       '/(<!--LINK .*?-->)/',
+                       '/(<!--LINK\'" .*?-->)/',
                        $replacer->cb(),
                        $text
                );
@@ -437,7 +437,7 @@ class LinkHolderArray {
                $replacer = new HashtableReplacer( $replacePairs, 1 );
 
                $text = preg_replace_callback(
-                       '/<!--IWLINK (.*?)-->/',
+                       '/<!--IWLINK\'" (.*?)-->/',
                        $replacer->cb(),
                        $text );
        }
@@ -612,7 +612,7 @@ class LinkHolderArray {
         */
        public function replaceText( $text ) {
                $text = preg_replace_callback(
-                       '/<!--(LINK|IWLINK) (.*?)-->/',
+                       '/<!--(LINK|IWLINK)\'" (.*?)-->/',
                        [ $this, 'replaceTextCallback' ],
                        $text );
 
index 3548da9..ea58acc 100644 (file)
@@ -3944,7 +3944,7 @@ class Parser {
                        $this->mForceTocPosition = true;
 
                        # Set a placeholder. At the end we'll fill it in with the TOC.
-                       $text = $mw->replace( '<!--MWTOC-->', $text, 1 );
+                       $text = $mw->replace( '<!--MWTOC\'"-->', $text, 1 );
 
                        # Only keep the first one.
                        $text = $mw->replace( '', $text );
@@ -4390,7 +4390,7 @@ class Parser {
                $full .= implode( '', $sections );
 
                if ( $this->mForceTocPosition ) {
-                       return str_replace( '<!--MWTOC-->', $toc, $full );
+                       return str_replace( '<!--MWTOC\'"-->', $toc, $full );
                } else {
                        return $full;
                }