WordPress.org

Make WordPress Core

Ticket #12464: 12464.2.diff

File 12464.2.diff, 1.3 KB (added by ericlewis, 6 years ago)

Fix replace ' instead of ' for single quotes in [caption] string

  • editor_plugin.dev.js

     
    134134                                id = b.match(/id=['"]([^'"]+)/i);
    135135                                cls = b.match(/align=['"]([^'"]+)/i);
    136136                                w = b.match(/width=['"]([0-9]+)/);
    137                                 cap = b.match(/caption=['"]([^'"]+)/i);
     137                                cap = b.match(/caption=["]([^"]+)/i);
    138138
    139139                                id = ( id && id[1] ) ? id[1] : '';
    140140                                cls = ( cls && cls[1] ) ? cls[1] : 'alignnone';
    141141                                w = ( w && w[1] ) ? w[1] : '';
    142142                                cap = ( cap && cap[1] ) ? cap[1] : '';
     143                                cap = cap.replace(/'|\\'/g, "'");
    143144                                if ( ! w || ! cap ) return c;
    144145                               
    145146                                div_cls = (cls == 'aligncenter') ? 'mceTemp mceIEcenter' : 'mceTemp';
     
    163164
    164165                                if ( ! w || ! cap ) return c;
    165166                                cls = cls.match(/align[^ '"]+/) || 'alignnone';
    166                                 cap = cap.replace(/<\S[^<>]*>/gi, '').replace(/'/g, '&#39;').replace(/"/g, '&quot;');
    167167
     168                                cap = cap.replace(/<[^a|\/a]\S[^<>]*>/gi, '').replace(/["]/g, "'");
     169
    168170                                return '[caption id="'+id+'" align="'+cls+'" width="'+w+'" caption="'+cap+'"]'+c+'[/caption]';
    169171                        });
    170172                },
     
    230232        });
    231233
    232234        tinymce.PluginManager.add('wpeditimage', tinymce.plugins.wpEditImage);
    233 })();
     235})();
     236 No newline at end of file