Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS将div内容填充到PHP数组中,不带任何html标记_Javascript_Php_Arrays_Wordpress_Loops - Fatal编程技术网

Javascript JS将div内容填充到PHP数组中,不带任何html标记

Javascript JS将div内容填充到PHP数组中,不带任何html标记,javascript,php,arrays,wordpress,loops,Javascript,Php,Arrays,Wordpress,Loops,我试图将由JS填充的div内容传递到PHP数组,并将该数组注入wordpress posts循环中 我设法得到了一个具有所需值的数组,但有一个html标记正在破坏循环 我认为通过在周围添加一个preg\u match\u all可以解决这个问题,但由于某种原因,数组最终是空的 我已粘贴到当前状态的下方。目前我得到一个空数组 我认为这可能是因为JS必须在php运行后填充div 你们有谁知道怎么做吗?非常感谢。如果您需要更多信息,请不要犹豫 <?php $rule = '#<di

我试图将由JS填充的div内容传递到PHP数组,并将该数组注入wordpress posts循环中

我设法得到了一个具有所需值的数组,但有一个html标记正在破坏循环

我认为通过在周围添加一个
preg\u match\u all
可以解决这个问题,但由于某种原因,数组最终是空的

我已粘贴到当前状态的下方。目前我得到一个空数组

我认为这可能是因为JS必须在php运行后填充div

你们有谁知道怎么做吗?非常感谢。如果您需要更多信息,请不要犹豫

  <?php
  $rule = '#<div class="sessionWrongsIDs">(.+?)</div>#';
  $content = '<div class="sessionWrongsIDs"></div>';
  preg_match_all( $rule, $content, $matches);
  print_r( $matches[1] );

  $args = array(
  'post__in' => $matches[1],
  'post_type' => 'qcm'
  );
  $posts = get_posts( $args );
  foreach ( $posts as $p ) : ?>
  <?php while( have_posts() ): the_post(); ?>
  <?php echo the_title();?><br/>
  <?php endwhile; ?>
  <?php endforeach; ?>
如果检查该数组,可以看到一个div,其值如下:

Array ( [0] =>
<div class="sessionWrongsIDs">1237,1227,1238,1232</div>
编辑3:在@FluffyKitten第二条评论之后,这里是JS端。我正在使用本地存储来保存帖子ID,并将其显示在前端的一个隐藏div中。我的想法是使用生成的内容(posts id)生成一个新的查询。但我没能成功地做到这一点

$( document ).ready( function () {
  var sessionWrongsIDs = [];

  for ( i = 0; i < window.localStorage.length; i++ ) {
    keys = window.localStorage.key( i );
    if ( keys.slice( 0, 3 ) === 'QCM' ) {
      sessionWrongsIDs.push( JSON.parse( window.localStorage.getItem( keys ) ) );
      $( '.sessionWrongsIDs' ).html( sessionWrongsIDs.join( ',' ) );
    };
  };
  $( 'input[name=answSel]:radio' ).click( function() {
    if ( $( 'input[name=answSel]:checked' ).val() == 0 ) {
      var sessionWrongsIDs = [];
      localStorage.setItem( $( '.currentTitle' ).html(), $( '.currentID' ).html() );

      for ( i = 0; i < window.localStorage.length; i++ ) {
        keys = window.localStorage.key( i );
        if ( keys.slice( 0, 3 ) === 'QCM' ) {
          sessionWrongsIDs.push( JSON.parse( window.localStorage.getItem( keys ) ) );
          $( '.sessionWrongsIDs' ).html( sessionWrongsIDs.join( ',' ) );
        };
      };
    };
  } );
} );
$(文档).ready(函数(){
var sessionErrorSids=[];
对于(i=0;i
您是否尝试过使用
strip\u tags()
-嗨,是的,我尝试过,但由于内容返回为空,我无法验证它是否有效我们很难知道何时无法看到它在运行。除了周围的div之外,当它工作时,您使用了什么代码,您得到了什么价值(包括div)?如果我们看看你做了什么,我们可能会想出一个不同的方法来解决这个问题。当你用edit 2编辑你的问题时,我正在发布我的答案。。。。看起来那样不行!:)你能给我们展示一下用于生成内容的js代码吗?如何将值输入到
$content
变量中?如果你
var\u dump($matches),你会得到什么
而不是
print\u r
?您是否尝试过使用
strip\u tags()
-嗨,是的,我尝试过,但由于内容返回为空,我无法验证它是否工作很难知道何时我们无法看到它在工作。除了周围的div之外,当它工作时,您使用了什么代码,您得到了什么价值(包括div)?如果我们看看你做了什么,我们可能会想出一个不同的方法来解决这个问题。当你用edit 2编辑你的问题时,我正在发布我的答案。。。。看起来那样不行!:)你能给我们展示一下用于生成内容的js代码吗?如何将值输入到
$content
变量中?如果你
var\u dump($matches),你会得到什么而不是
打印\r
Array ( [0] =>
<div class="sessionWrongsIDs">1237,1227,1238,1232</div>
  <?php
  $rule = '/<[^>]*>/';
  $content = '<div class="sessionWrongsIDs"></div>';
  preg_match( $rule, $content, $matches);
  print_r( strip_tags( $matches[0] ) );
  ?>
$( document ).ready( function () {
  var sessionWrongsIDs = [];

  for ( i = 0; i < window.localStorage.length; i++ ) {
    keys = window.localStorage.key( i );
    if ( keys.slice( 0, 3 ) === 'QCM' ) {
      sessionWrongsIDs.push( JSON.parse( window.localStorage.getItem( keys ) ) );
      $( '.sessionWrongsIDs' ).html( sessionWrongsIDs.join( ',' ) );
    };
  };
  $( 'input[name=answSel]:radio' ).click( function() {
    if ( $( 'input[name=answSel]:checked' ).val() == 0 ) {
      var sessionWrongsIDs = [];
      localStorage.setItem( $( '.currentTitle' ).html(), $( '.currentID' ).html() );

      for ( i = 0; i < window.localStorage.length; i++ ) {
        keys = window.localStorage.key( i );
        if ( keys.slice( 0, 3 ) === 'QCM' ) {
          sessionWrongsIDs.push( JSON.parse( window.localStorage.getItem( keys ) ) );
          $( '.sessionWrongsIDs' ).html( sessionWrongsIDs.join( ',' ) );
        };
      };
    };
  } );
} );