Codeigniter BBCODE или функциональность на лету? - PullRequest
1 голос
/ 15 июля 2011

Я искал какой-либо способ либо кодировать ссылки, используя bbcode, либо вручную преобразовывать URL-адрес в указанном сообщении в ссылку. BBCodes для меня только стареют. Хотя все еще широко используются для таких вещей, как смайлики и т. Д.

Я хотел бы, вероятно, объединить две функции.

Может ли кто-нибудь посоветовать что-то, что они используют или недавно использовали, чтобы, так сказать, оптимизировать систему обмена сообщениями.

Ответы [ 2 ]

0 голосов
/ 15 июля 2011

Если вы хотите использовать что-то на стороне клиента для интерпретации BBCode, я написал расширяемый синтаксический анализатор BBCode на JavaScript .

В нем есть все стандартные теги BBCode, но если вашей системе обмена сообщениями нужны некоторые новые теги для определенных видов манипулирования URL-адресами, их можно легко добавить. Например, для тега смайлики вы можете расширить его следующим образом:

"smiley": {
    openTag: function(params,content) {
        if (content === ":)") {
            return "<img src='smiley.png'/>";
        } else if (content === ":(") {
            return "<img src='frown.png'/>";
        } else {
            return "";
        }
    },
    closeTag: function(params,content) {
        return "";
    }
}

И тогда BBCode будет выглядеть примерно так:

[smiley]:)[/smiley]

И HTML-код, который он сгенерирует из этого, будет выглядеть так:

<img src='smiley.png'/>

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

0 голосов
/ 15 июля 2011

Что касается конвертации ссылок, Codeigniter обеспечит вас поддержкой url helper :

auto_link ()

Автоматически превращает URL-адреса и адреса электронной почты, содержащиеся в строке в ссылки. Пример: $ string = auto_link ($ string);

Второй параметр определяет, будут ли преобразованы URL и электронные письма. или просто один или другой. Поведение по умолчанию - оба, если параметр не указан. Ссылки электронной почты закодированы как safe_mailto (), как показано выше.

Что касается смайликов, это также покрыто. На самом деле есть смайлик помощник :

Если вы сдаетесь и хотите разобрать bbcode, вот помощник, написанный Филом Стердженом (ведущим разработчиком Codeigniter): https://github.com/bcit-ci/CodeIgniter/wiki/BBCode-Helper

...