搜索文本并替换为正则表达式 - IndexOf

时间:2016-12-11 13:34:12

标签: jquery

我有以下短代码/文字内容。 内容必须结构化,[全宽]只能包含[列]短代码,类似[列]短代码只能包含其他短代码,但不能包含简单的文本行。如果发现任何问题,应将[column span =“12”]包裹起来[/ column]。下面是需要使用正则表达式转换的代码。

[fullwidth]
    1111 any random text line not wrapped in shortcode
    [divider value="80"]
     ********** The above 2 lines them wrapped in [column span="12"] above 2 lines[/column]

    [column span="6"]
       [divider value="80"]
        2222 any random text line not wrapped in shortcode
       [text] something [/text]
    [/column]

    [column span="6"]
        3333 any random text line not wrapped in shortcode
        [divider value="80"]
    [/column]

    4444 any random text line not wrapped in shortcode
    [divider value="30"]
     ********** The above 2 lines them wrapped in [column span="12"] above 2 lines[/column]
[/fullwidth]

所以最终输出将如下所示:

[fullwidth]

    [column span="12"]
        [text]1111 any random text line not wrapped in shortcode[/text]
        [divider value="80"]
    [/column]

    [column span="6"]
       [divider value="80"]
       [text]2222 any random text line not wrapped in shortcode[/text]
       [text] something [/text]
    [/column]

    [column span="6"]
        [text]3333 any random text line not wrapped in shortcode[/text]
        [divider value="80"]
    [/column]

    [column span="12"]
        [text]4444 any random text line not wrapped in shortcode[/text]
        [divider value="30"]
    [/column]

[/fullwidth]

我的原始代码非常复杂,无法在此发布,这会让您感到困惑。我尝试的是首先获取每个[fullwidth]内的内容并忽略列,所以我可以转换它们,下面是代码行..

var shortcode = replace( 'column', shortcode, function(){return ' ';} ).replace(/&nbsp;/g, ' ').replace(/<p> +<\/p>/g, ' ').trim();

上面的代码给了我[fullwidth]和未包含在[column]中的代码并删除了[column]。我不知道如何实现这一点,我将不胜感激任何帮助或起点。

0 个答案:

没有答案