15. august 2006 - 20:55Der er
19 kommentarer og 1 løsning
Læs fil, <body> content
Hej,
Jeg sidder for føste gang og skulle lave noget CMS. Jeg har brug for at læse en fil, men kun få de linjer koder der sår mellem <body> og </body>. Hvordan gør jeg nemmest det?
Websam: Går lidt og eksperimenterer med hvordan jeg vil lave det. Lige nu vil jeg prøve at kunne lade brugeren ændre alt body-content, ved brug af et RichTextBox-lignende objekt.
Websam: Jo, det har jeg også tænkt på. Men tænkte jeg også lige ville forsøge med det her. Kunne også være lidt smart hvis jeg kunne gemme alt under App_LocalResource
Arne: Hmm. Eftersom jeg aldrig før har leget med Regex. Vil det være muligt at få en lille forklaring på hvordan det virker. Har det ikke så godt med at bruge ting jeg ikke har styr på :)
Jeg tror du får et mere fleksibelt system ved at have et felt i din database der indikere sproget end at skulle gemme det hele i fysiske filer på serveren.
Jeg ville ikke gøre det da det virker på mig som om han vil lave fysiske filer på serveren. Alle de CMS'er jeg har set er alle bygget op omkring en database.
Må jeg anbefale dig at prøve: FCKeditor som editor. Den kan uden tvivl alt det du skal bruge ved en editor. Og så kan du tilmed skinne den som du vil, og redigere toolbars :) -- Giv den en chance
Arne: Hmm, jeg har prøvet din kode, jeg har skrevet sådan:
Dim Reader As New System.IO.StreamReader(Server.MapPath("~/wikwak.aspx")) Label1.Text = Regex.Matches(Reader.ReadToEnd(), "(?:<body>)(\.*?)(?:</body>)")(0).Groups(1).Value Reader.Close()
Men jeg får denne fejl:
Specified argument was out of the range of valid values. Parameter name: i
Websam: Jeg kommer nok også til at have data til at ligge i en database, jeg er som sagt bare ved at prøve lidt forskellige muligheder af. Men jeg kan da ikke undgå at have fysiske filer på serveren?
Ismand: Jeg har hentet den, og er ved at prøve den af. Synes den ser ud til at virke ganske godt. Tilmed er den jo OpenSource så jeg kan jo lave om lige hvad jeg vil :)
Arne: Glemte lige der var en master-side tilknyttet til wikwak.aspx, så jeg har lige lavet koden om. Det virker dog stadig ikke:
Dim start As String = "<asp:Content ID=" + """Content1""" + " ContentPlaceHolderID=" + """ContentPlaceHolder""" + " Runat=" + """Server""" + ">" Dim slut As String = "</asp:Content>"
Dim Reader As New System.IO.StreamReader(Server.MapPath("~/wikwak.aspx")) Label1.Text = Regex.Matches(Reader.ReadToEnd(), "(?:" + start + ")(\.*?)(?:" + slut + ")")(0).Groups(1).Value Reader.Close()
Wikwak.aspx ser sådan ud:
<%@ Page Language="VB" MasterPageFile="~/App_Layout/MasterPage.master"Title="Untitled Page" %> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim TitleInfo As New Title Me.Title = TitleInfo.IndividualName("wikwak") End Sub </script> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server"> sdfh<STRONG>gfdg </STRONG><EM><U>HABTIBbvvbcvb</U></EM></asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="NewsPlaceHolder" Runat="Server"> </asp:Content>
Selvfølgelig kan du ikke undgå at have fysiske filer på serveren der skal jo være nogle sider til at håndtere dine data fra databasen.
Det jeg vil frem til er at du vil ændre html'en direkte i en fysisk fil frem for at have den tekst liggende i en database det er IKKE hensigts mæssigt i mine øjne.
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.