将_Content分解为数组时出现问题

时间:2015-07-27 作者:inverted_index

我在WP\\U查询中编写了一段代码,用于将字符串(内容)转换为数组(选项)。但这似乎是错误的!事实上,每次循环后,choices数组都是空的。但是str string不为null。如何将此数组处理为nutnull?任何帮助都将不胜感激。

$first_query = new WP_Query( $args );
    while ($first_query->have_posts()) : $first_query->the_post();
        the_title();  //echo the title
        the_content();         //echo the content
                $str = the_content(); 
                $choices = explode("-",$str);
                var_dump($choices);     
    endwhile;

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

你有几个问题

  • the_content() 将内容回显到屏幕。您应该使用get_the_content() 返回内容。记住,get_the_content() 未过滤,因此如果需要过滤内容,请使用apply_filters( \'the_content\', get_the_content() ) 它将返回过滤后的内容。

    您的explode() 函数也可能是错误的。您正在使用连字符将内容分解为数组的各个部分。若内容不包含连字符,则数组将只有一个键,其值为完整内容。您可能需要使用空格(explode( \' \', get_the_content() );)或正则表达式或类似于target的内容,而不仅仅是使用催眠或空格来分解内容。在我的previous posts for custom excerpts , 我用了一些类似的东西来爆炸我的内容,下面是一些你可以尝试和实验的东西

    preg_match_all(\'/(<[^>]+>|[^<>\\s]+)\\s*/u\', get_the_content(), $tokens);
    var_dump( $tokens );
    

SO网友:Ulugov

Try with: $str = get_the_content();

结束