相当于java中的PHP preg_match,substr

时间:2013-03-29 13:11:55

标签: javascript tinymce

我正在创建一个tinyMce插件,用于更改突出显示的文本之间的单词/字母空间。我的fn()看起来像这样:

function wordsLettersSpace(words, letters) {
    var inst = tinyMCE.activeEditor;
    var currSelection = $.trim(inst.selection.getSel());

    if(currSelection != ""){
        var content = "";
        content = inst.selection.getContent({
            format: 'html'
        });

        contentReplace = '<span style="word-spacing: '+words+'px; letter-spacing: '+letters+'px;">' + inst.selection.getContent({
            format: 'html'
        }) + '</span>';

        inst.selection.setContent(content.replace(content, contentReplace));
        window.alert(content);
    }else{
        Hyphenator.hyphenate(inst.getBody(), language);
    }
    tinyMceUpdate();
}

现在我需要在选择开始位置(如果存在)之前找到最接近的标签,并获得“字间距”和“字母间距”的样式值。此外,我需要摆脱任何内部选择,但只有标签而不是文本,知道span标签可以有不同的样式,所以简单的str.replace将无法工作。

我知道有一个内置的插件,但我需要在tinyMce iframe之外进行,并自定义它。

任何sugestions?

1 个答案:

答案 0 :(得分:3)

JS正则表达式可用,并且使用preg_match完全符合您的要求。

https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions

javascript中的子字符串为str.substr(start, length)