Facebook не работает с разрывами строк, пробелами, одинарными и двойными кавычками в тексте - PullRequest
2 голосов
/ 02 ноября 2011

Я хочу поделиться текстом в Facebook через Facebook JavaScript SDK.

Так что, когда это обычный текст, share работает корректно, когда я включаю пробел, разрыв строки, одинарную или двойную кавычку. Это создает проблему. Что я должен сделать, чтобы устранить такую ​​ситуацию?

Поскольку я получаю данные из базы данных, которые могут быть включены во все эти пробелы, разрывы строк, одинарные кавычки, двойные кавычки или косые черты.

FB.ui({
    method      : 'stream.publish',
    name        : 'Application Name or some thing else',

    picture     :  'http://example.com/first.jpg',
    caption     : 'I want to upload this caption to facebook',
    link        :    'http://www.example.com',
    description : 'I don't want to hide "Facebook page" from any user.
    This is like text is not working. What might be the reason, and what should I do?
    '
});

Какую технику я должен применить, чтобы избежать неправильной публикации? Он должен принимать специальные символы.

Ответы [ 3 ]

1 голос
/ 24 января 2012
I don\'t

Вам нужно исправить это в этом фрагменте. Очевидно, каждый '(одиночная кавычка) должен стать \'

Это азбука:)

1 голос
/ 15 марта 2012

Я написал функцию JavaScript для этой проблемы.Это прекрасно сработало для меня.

function stripslashes (str)
{
    return (str + '').replace(/\\(.?)/g, function (s, n1) {
        switch (n1) {
            case '\\':
                return '\\';
            case '0':
                return '\u0000';
            case '':
                return '';
            default:
                return n1;
        }
    });
}
0 голосов
/ 02 ноября 2011

Вы пробовали HTML или URL кодирование текста?Я не PHP-разработчик, но это кажется уместным www.php.net/manual/en/function.htmlspecialchars.php

...