Javascript JS将div内容填充到PHP数组中,不带任何html标记
我试图将由JS填充的div内容传递到PHP数组,并将该数组注入wordpress posts循环中 我设法得到了一个具有所需值的数组,但有一个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
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( ',' ) );
};
};
};
} );
} );