Я создаю пользовательскую функцию CLR в Sql Server 2005 для некоторой очистки многих таблиц базы данных.
Задача - удалить почти все теги, кроме ссылок (теги 'a'
и их атрибуты 'href'
). Поэтому я разделил проблему на два этапа. 1. создание пользовательской функции сервера sql и 2. создание сценария сервера sql для обновления всех задействованных таблиц, вызывающих функцию clr.
Для определяемой пользователем функции и учитывая ограниченную среду, я предпочитаю делать это с нативными библиотеками. Это означает, что, например, не используется пакет Html Agility Pack.
В javascript это регулярное выражение, по-видимому, делает правильную работу:
<\s*a[^>]\s*href=(.*)>(.*?)<\s*/\s*a>
Как минимум, согласно http://www.pagecolumn.com/tool/regtest.htm
Но я не знаю, как перевести это (особенно часть групп захвата) в код C #, чтобы использовать текст как часть вывода.
Например, если введено: <a href="http://example.com">some text</a>
Как сохранить текст "http://example.com"
и "some text"
как часть вывода в коде C # и в то же время убрать любой другой возможный HTML-тег (и их содержимое)?