Код jQuery + C # для разрешения URL из предоставленного пользователем текста - PullRequest
0 голосов
/ 18 августа 2011

Я бы хотел добавить какое-то простое разрешение и форматирование URL в мое веб-приложение ASP.NET на основе C # и jQuery. В настоящее время я разрешаю пользователям добавлять простые текстовые описания к элементам и оставлять простые комментарии («простые», поскольку я разрешаю только простой текст).

Что мне нужно для поддержки, так это возможность для пользователя ввести что-то вроде:

Check out this cool link: <a href="http://www.really-cool-site.com" rel="nofollow">http://www.really-cool-site.com</a>

... и правильное разрешение указанного выше URL-адреса в виде ссылки и автоматическое превращение в интерактивную ссылку ... что-то вроде способа работы редактора в StackOverflow. За исключением того, что мы не хотим поддерживать BBCode или любой из его вариантов. Пользовательский интерфейс на самом деле больше похож на способ, которым Facebook разрешает сгенерированные пользователем URL.

Какие решения jQuery + C # мне следует рассмотреть?

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

В итоге я использовал код C # на стороне сервера для создания ссылок. Я использую оболочку AJAX-jQuery для вызова PageMethod, который выполняет эту работу.

PageMethod связывает и дезинфицирует предоставленную пользователем строку, а затем возвращает результат.

Я использую Microsoft Anti-Cross Site Scripting Library (AntiXSS) для очистки:

http://www.microsoft.com/download/en/details.aspx?id=5242

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

Мой метод не такой крутой, как FaceBook в реальном времени, но по крайней мере теперь мои пользователи могут добавлять ссылки на свои описания и комментарии.

0 голосов
/ 18 августа 2011

Есть другой вопрос с решением, которое может вам помочь.Он использует регулярное выражение в чистом JS.

Лично я бы сделал это на стороне сервера, когда пользователь отправит его.Таким образом, вам нужно сделать это только один раз, а не каждый раз, когда вы отображаете этот текст.Вы можете использовать подобное регулярное выражение в C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...