Возможно, более безопасно использовать DOMDocument для его правильного анализа, удалить запрещенные теги с помощью removeChild (), а затем получить результат. Не всегда безопасно фильтровать материал с помощью регулярных выражений, особенно если вещи начинают приобретать такую сложность. Хакеры могут найти способ обмануть ваши фильтры, форумы и социальные сети. Это хорошо известно.
Например, браузеры игнорируют пробелы после & lt ;. Ваш фильтр регулярного выражения & lt; script, но если я использую & lt; скрипт ... большой FAIL!
Вы можете использовать свойство Columns вашей таблицы данных, чтобы взаимодействовать со столбцами и скрывать ненужные столбцы.
datagrid.Columns.RemoveAt(IndexOftheColumn);
или если вы назвали свои столбцы
datagrid.Columns.RemoveAll(x => x.Name = "column name");
или если возможно, что вам понадобится столбец позже
datagrid.Columns[IndexOftheColumn].Visibility = Visibility.Collapsed;
Это также можно сделать с чистый Xaml с привязками, но так как вы новичок в Wpf, я бы посоветовал сначала сделать это в коде (.cs вашего элемента управления Wpf).
Что касается выбора столбцов, которые нужно скрыть, вы можете передать список имен столбцов, которые вы хотите удалить, в конструкторе элемента управления или с привязкой. Есть много способов сделать это.
Или вы можете сделать наоборот и динамически добавлять столбцы в зависимости от ваших потребностей.
.