16. april 2011 - 02:05 Der er 4 kommentarer og
1 løsning

Deaktivering af html, fra database-udtræk

Er der nogen metode til at fjerne html tags, trukket ud fra databasen.
Som udgangspunkt er jeg ved at lave en hjemmeside, hvor jeg ønsker at gøre det muligt at oprette nyheder, i forskellige niveauer. dvs at jeg på administrator niveau, ønsker at gøre det muligt eventuelt:
1. at lave et regnskab, i f.eks open office calc.
2. at sende det i databasen med html-tags
3. at trække det ud på en nyheds-side med left funktion, hvor alt html bliver fjernet.
4. at åbne vis selve nyheden med html funktionerne.

Mit problem kommer i 3. del hvor nogen browser-visninger får siden til at vælte fra hinanden, da left-funktionen tæller alt html med.

Jeg har forsøgt med at sende det igennem en factory med replace-funktion, og jeg kan godt fjerne elementerne hver for sig. Men jeg tænker, at der må da være en færdig funktion til dette..?
Avatar billede arne_v Ekspert
16. april 2011 - 02:12 #1
Det er haabloest at gemme HTML i en DB. Saa du boer redesigne.

Hvis du vil ud af denne her tangent, saa skal du nok kigge paa en regex replace.
16. april 2011 - 02:29 #2
På det tidspunkt hvor jeg opretter min nyhed, bruger jeg free textbox, så vil du mene at jeg skal på en eller anden måde, skal omdøbe mine tags, før de kommer i databasen?

og så bruge regex replace både til input og output...

Har du et lille eksempel?
Avatar billede arne_v Ekspert
16. april 2011 - 02:48 #3
Den meget simple version:

using System;
using System.Text.RegularExpressions;

namespace E
{
    public class Program
    {
        private static readonly Regex re = new Regex("<[^>]*>", RegexOptions.Compiled | RegexOptions.Singleline);
        public static String Strip(string s)
        {
            return re.Replace(s, "");
        }
        public static void Main(string[] args)
        {
            string html = @"<html>
<head>
<title>Test</title>
</head>
<body>
<h1>Test</h1>
<p>bla bla</p>
<p>mere bla bla</p>
</body>
</html>";
            Console.WriteLine(html);
            Console.WriteLine(Strip(html));
        }
    }
}
Avatar billede arne_v Ekspert
22. maj 2011 - 21:50 #4
OK?
08. september 2011 - 20:09 #5
Tak for hjælpen, det var ikke det der blev løsningen... Men det må jeg arbejde videre på.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester