Php 从循环jquery帖子发布到twitter不会';我不能和特殊人物一起工作

Php 从循环jquery帖子发布到twitter不会';我不能和特殊人物一起工作,php,jquery,post,twitter,Php,Jquery,Post,Twitter,我有一个li项目循环,我将其发送到jquery帖子,在php文件中,我正试图发布到twitter。但由于某些原因,唯一真正发布的是循环中的第二项,因为它不包含特殊字符 <ul id="twitter-preview" class="list-group"> <li id="post-1">this is my "first line" of the ul list...</li> <li id="post-2">and this i

我有一个li项目循环,我将其发送到jquery帖子,在php文件中,我正试图发布到twitter。但由于某些原因,唯一真正发布的是循环中的第二项,因为它不包含特殊字符

<ul id="twitter-preview" class="list-group">
    <li id="post-1">this is my "first line" of the ul list...</li>
    <li id="post-2">and this is my 2</li>
    <li id="post-3">last line just as a "happy face" like so :) and it broke too</li>                   
</ul>

$('#btnSend').on('click', function(){
    var preview_size = $("#twitter-preview li").size();
    var tweet = '';
    for(i= preview_size; i > 0; i--)
    {
        tweet = $('#post-' + i).html();
        postTweet(tweet);
    }
});

function postTweet(value)
{
    $.post( "sendtweet.php", {"tweet" : value }, function() {});
}
我不知道为什么第二个“li”元素在twitter上发帖子,而第一个和第三个没有,我从控制台上没有收到任何错误

编辑:我刚刚测试过,问题是如果字符串有双引号或任何它中断的html代码,这就是为什么它发送行时没有它。那么,我应该如何发送一个带有html代码的字符串,使其不被破坏呢

EDIT2:下面是一个什么有效,什么无效的例子:

如果文本为:

This is just "a test" of a string that wouldn't not work because of the "special"    characters...
但这确实:

This line would post just fine because i dont use any special characters.

您没有将这些值连接到tweet变量

你需要转义字符串,我在下面找到了这个函数


事实上,我并没有发送全部推文,只是发送了一小部分。这就是为什么我没有连接。我刚刚测试过,问题是如果字符串有双引号或任何它中断的html代码,这就是为什么它发送行时没有它。你的意思是你不希望它成为字符串吗?如果你试图从这三个
li
sno中获取值,你仍然必须将它连接起来。不,我确实希望它成为字符串。。例如:这只是一个“测试”什么东西会断裂。。但如果我输入:这只是一个测试什么不中断,不同的是没有使用特殊字符,它工作得很好,但如果我使用dbl或单引号,它会中断..不,我不想要所有三个li,我希望它们一个接一个地单独发布,而不是同时发布。这就是为什么我没有连接。
This line would post just fine because i dont use any special characters.
function addslashes( str ) {
    return (str + '').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}

$('#btnSend').on('click', function(){
    var preview_size = $("#twitter-preview li").size();
    var tweet = '';
    for(i= preview_size; i > 0; i--){

        tweet += addslashes($('#post-' + i).html());
        postTweet(tweet);
    }
});