0

iframe内のphp呼び出しからjQueryを使用してhtml文字列(つまり返信)を追加する必要がありますが、インデントも保持する必要があります。
基本的に、私はそれを詳述するphpに返信を送信し、それを投稿するjqueryを介して送り返しますが、マークアップ(タブ、スペースなど)を保持する必要があります。それを行う方法はありますか?現時点では、これを使用しています:

echo "<script>parent.$('#formreply').nimbleLoader('hide');parent.post_reply('".addslashes($_POST['message'])."','".$date."','".htmlspecialchars($_SESSION['name'],ENT_QUOTES,'UTF-8')."',".$json.");</script>";

しかし、すべてのマークアップを で削除する必要があります。trim(preg_replace('/\s+/','',$_POST['message']))それ以外の場合、js は: を返しますunterminated string literal
これは投稿の例です (the eco):

parent.$('#formreply').nimbleLoader('hide');parent.post_reply('<pre class=\"html\">
&lt;script&gt;
alert(\'ciao\')
alert(\'ciao\')
&lt;/script&gt;</pre>
<p> </p>','2013-11-01 12:29:58','Admin',null);

編集

function post_reply(mess, dat, name, up) {
        totalmsg++;
        <?php if(!$isMob){ ?> 
            CKEDITOR.instances.message.setData(''); 
        <?php } else { ?> 
            editor.setValue("", true); 
        <?php } ?> 
        $(".uploadfilebox").each(function () {
            $(this).remove()
        });
        $(".attlist").append("<div class='row-fluid uploadfilebox'></div>");
        tail = [];
        $("#messages").children(".row-fluid:first").hasClass("oddmessage") ? tail.push('<div class="row-fluid evenmessage" style="display:none"><div class="row-fluid"><div class="span2 usrinfo"><p class="username">' + name + '</p><p class="date">' + dat + '</p><p class="postnumber">Post Number: '+totalmsg+'</p></div><div class="span8 messagecell">' + mess + "</div></div>") : tail.push('<div class="row-fluid oddmessage" style="display:none"><div class="row-fluid"><div class="span2 usrinfo"><p class="username">' + name + '</p><p class="date">' + dat + '</p><p class="postnumber">Post Number: '+totalmsg+'</p></div><div class="span8 messagecell">' + mess + "</div></div>");
        if (null != up){
            tail.push('<div class="row attachment"><div class="span2 offset1 attachmentsec">Attachment</div><div class="span8">');
            var count= up.length;
            for (i=0; i < count; i++) 
                tail.push("<form class='download_form' method='POST' action='../php/function.php' target='hidden_upload' enctype='multipart/form-data'><input type='hidden' name='ticket_id' value='" + up[i][0] + "'/><input type='hidden' name='file_download' value='" + up[i][1] + "'/><input type='submit' class='btn btn-link download' value='" + up[i][2] + "'> &nbsp;&nbsp; <i class='icon-remove-sign remfile' title='Delete File' alt='Delete File'></i></form>");
            tail.push("</div></div>");
        }
        tail.push("</div>");
        $(".newest").remove();
        $("#messages").children(".row-fluid:first").before(tail.join(""));
        $("#messages").children(".row-fluid:first").delay(300).show('scale');
        $('#fielduploadinput').wrap('<form>').closest('form').get(0).reset();
        $('#fielduploadinput').unwrap();
        add++;
        writing=false;
    }
4

0 に答える 0