Facebook Share не работает с разрывами строк, пробелами, одинарными и двойными кавычками в тексте

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

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

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

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?
    '
});

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


person Aizaz Barki    schedule 02.11.2011    source источник


Ответы (3)


I don\'t

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

это азбука :)

person Luca Simonetti    schedule 24.01.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;
        }
    });
}
person Aizaz Barki    schedule 15.03.2012
comment
Это решает проблему с вашей стороны, я думаю, когда данные содержат символы \. Проблема возникает, когда вы публикуете цитируемый текст на Facebook. При публикации он отображается как \цитируемый текст\. Это исправить? - person Hammad Khan; 08.11.2013

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

person geoffreys    schedule 02.11.2011