|  | 		    
					
        
         
          
         
	
          | |  | problem med noget <br/> Fra : scootergrisen
 | 
 Dato :  21-02-11 05:27
 | 
 |  | Jeg har et problem jeg ikke ved hvordan jeg skal løse.
 
 Teksten som skal vises på min hjemmeside står i filer som her :
 
 Hej og velkommen.
 Her vil jeg skrive om noget.
 Og her noget mere.
 
 Derefter sender jeg teskten igennem noget kode som tilføjer <br/> :
 
 Hej og velkommen.<br/>
 Her vil jeg skrive om noget.<br/>
 Og her noget mere.<br/>
 
 Nu vil jeg gerne kombinere tekst og javascript som her :
 
 <script type="text/javascript">
 var x = 10;
 document.write(x);
 </script>
 
 Hej og velkommen.
 Her vil jeg skrive om noget.
 Og her noget mere.
 
 Men så fucker det jo javascript koden op :
 
 <script type="text/javascript"><br/>
 var x = 10;<br/>
 document.write(x);<br/>
 </script><br/>
 <br/>
 Hej og velkommen.<br/>
 Her vil jeg skrive om noget.<br/>
 Og her noget mere.<br/>
 
 Jeg vil meget gerne undgå at skulle til at skrive <br/> efter hver linie
 i alle mine filer med tekst til hjemmesiden fordi det er da for
 besværligt så håber i derude har nogen ideer til en anden løsning.
 
 
 
 
 |  |  | 
  Andreas Andersen (21-02-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  21-02-11 07:38
 | 
 |  | Den 21-02-2011 05:26, scootergrisen skrev:
 > Jeg har et problem jeg ikke ved hvordan jeg skal løse.
 >
 > Teksten som skal vises på min hjemmeside står i filer som her :
 >
 > Hej og velkommen.
 > Her vil jeg skrive om noget.
 > Og her noget mere.
 >
 > Derefter sender jeg teskten igennem noget kode som tilføjer <br/> :
 >
 > Hej og velkommen.<br/>
 > Her vil jeg skrive om noget.<br/>
 > Og her noget mere.<br/>
 >
 > Nu vil jeg gerne kombinere tekst og javascript som her :
 >
 > <script type="text/javascript">
 > var x = 10;
 > document.write(x);
 > </script>
 >
 > Hej og velkommen.
 > Her vil jeg skrive om noget.
 > Og her noget mere.
 >
 > Men så fucker det jo javascript koden op :
 >
 > <script type="text/javascript"><br/>
 > var x = 10;<br/>
 > document.write(x);<br/>
 > </script><br/>
 > <br/>
 > Hej og velkommen.<br/>
 > Her vil jeg skrive om noget.<br/>
 > Og her noget mere.<br/>
 >
 > Jeg vil meget gerne undgå at skulle til at skrive <br/> efter hver linie
 > i alle mine filer med tekst til hjemmesiden fordi det er da for
 > besværligt så håber i derude har nogen ideer til en anden løsning.
 
 Hvis jeg gemte data på den måde, ville jeg nok også bare gå mine filer
 igennem og tilføje <br />. Hvad gør du f.eks. hvis du beslutter at "Hej
 og velkommen" skal være i fed tekst?
 
 Hvis jeg havde besluttet, at det var uacceptabelt, ville jeg dele dem op
 i elementer og gemme dem enten i en database eller i xml. Xml-formatet
 kunne f.eks. se således ud:
 
 <contentelements>
 <contentelement type="text">Hej og velkommen</contentelement>
 <contentelement type="javascript">var x = 10;
 document.write(x);
 </contentelement>
 <contentelement type="text">Bla bla</contentelement>
 </contentelements>
 
 På den måde adskiller du håndteringen af de forskellige elementtyper.
 
 --
 Andreas
 
 
 |  |  | 
  scootergrisen (21-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  21-02-11 16:14
 | 
 |  | > Hvis jeg gemte data på den måde, ville jeg nok også bare gå mine filer
 > igennem og tilføje <br />. Hvad gør du f.eks. hvis du beslutter at "Hej
 > og velkommen" skal være i fed tekst?
 
 Det med at jeg selv skal tilføje <br/> ved hvert linieskifter vil jeg
 gerne undgå. Ellers er det "let nok" hvis jeg vælger den løsning. Altså
 så kan jeg få det som jeg vil borset fra jeg ikke vil tilføje det efter
 hver linie for det er da for besværligt syns jeg.
 
 Det derfor jeg bruger :
 $indhold .= str_replace("\r\n", "<br/>\r\n", $data);
 
 Så det dejlig og skriver noget til hjemmesiden fordi så skal jeg ikke
 indsætte de skide <br/> hele tiden.
 
 Og hvis jeg vil gøre noget tekst fed så skriver jeg det bare ligesom
 normalt :
 
 Hej og velkommen.
 Noget <span style="font-weight:bold;">fed tekst</span>.
 Og her noget mere.
 
 
 > Hvis jeg havde besluttet, at det var uacceptabelt, ville jeg dele dem op
 > i elementer og gemme dem enten i en database eller i xml. Xml-formatet
 > kunne f.eks. se således ud:
 > <contentelements>
 > <contentelement type="text">Hej og velkommen</contentelement>
 > <contentelement type="javascript">var x = 10;
 > document.write(x);
 > </contentelement>
 > <contentelement type="text">Bla bla</contentelement>
 > </contentelements>
 >
 > På den måde adskiller du håndteringen af de forskellige elementtyper.
 >
 
 Og hvordan skal jeg så få de data ind på hjemmesiden ?
 Jeg kender ik så meget til XML og hvordan det bruges.
 
 
 |  |  | 
   Andreas Andersen (21-02-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  21-02-11 17:33
 | 
 |  | 
 
            Den 21-02-2011 16:13, scootergrisen skrev:
 > Og hvordan skal jeg så få de data ind på hjemmesiden ?
 > Jeg kender ik så meget til XML og hvordan det bruges.
 Der findes standardbiblioteker til at parse XML i stort set alle sprog. 
 For PHP se her: http://php.net/manual/en/book.xml.php  . Men det er 
 selvfølgelig lidt et projekt at sætte sig ind i, hvis du ikke ved noget 
 om XML. Hvis du er nysgerrig kan du også forsøge at google noget om XSLT.
 Hvis du bare skal bruge noget let og hurtigt til et lille projekt, 
 virker Birgers forslag jo fint. Til lidt større projekter er det dog den 
 slags, der meget hurtigt leder til ulæseligt spaghettikode. Så skal det 
 også liiiige kunne det og det og det og det, og før man ved af det, har 
 man 50 nestede if-sætninger uden kommentarer.
 -- 
 Andreas
            
             |  |  | 
  Birger Sørensen (21-02-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  21-02-11 16:41
 | 
 |  | 
 
            scootergrisen kom med følgende:
 > Jeg har et problem jeg ikke ved hvordan jeg skal løse.
 >
 > Teksten som skal vises på min hjemmeside står i filer som her :
 >
 >    Hej og velkommen.
 >    Her vil jeg skrive om noget.
 >    Og her noget mere.
 >
 > Derefter sender jeg teskten igennem noget kode som tilføjer <br/> :
 >
 >    Hej og velkommen.<br/>
 >    Her vil jeg skrive om noget.<br/>
 >    Og her noget mere.<br/>
 >
 > Nu vil jeg gerne kombinere tekst og javascript som her :
 >
 >    <script type="text/javascript">
 >       var x = 10;
 >       document.write(x);
 >    </script>
 >
 >    Hej og velkommen.
 >    Her vil jeg skrive om noget.
 >    Og her noget mere.
 >
 > Men så fucker det jo javascript koden op :
 >
 >    <script type="text/javascript"><br/>
 >       var x = 10;<br/>
 >       document.write(x);<br/>
 >    </script><br/>
 >    <br/>
 >    Hej og velkommen.<br/>
 >    Her vil jeg skrive om noget.<br/>
 >    Og her noget mere.<br/>
 >
 > Jeg vil meget gerne undgå at skulle til at skrive <br/> efter hver linie i 
 > alle mine filer med tekst til hjemmesiden fordi det er da for besværligt så 
 > håber i derude har nogen ideer til en anden løsning.
http://dk2.php.net/manual/en/function.nl2br.php $is_script = false;
 $lines = file();
 while ( $lines as $lin) {
    if ( str_pos( $lin, '<script'))
       $is_script = true;
       }
    if ( isscript && str_pos( $lin, '</script')) {
       $is_script = false;
       }
    if ( !$is_script) {
       $lin = nl2br( $lin, true);
       }
     // udskriv $lin
    }
 De sædvanlige forbehold... Også for at man ikke kan skrive til arrayet 
 i worech loops.
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
  scootergrisen (21-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  21-02-11 17:29
 | 
 |  | 
 
            Den 21-02-2011 16:41, Birger Sørensen skrev:
 > scootergrisen kom med følgende:
 >> Jeg har et problem jeg ikke ved hvordan jeg skal løse.
 >>
 >> Teksten som skal vises på min hjemmeside står i filer som her :
 >>
 >> Hej og velkommen.
 >> Her vil jeg skrive om noget.
 >> Og her noget mere.
 >>
 >> Derefter sender jeg teskten igennem noget kode som tilføjer <br/> :
 >>
 >> Hej og velkommen.<br/>
 >> Her vil jeg skrive om noget.<br/>
 >> Og her noget mere.<br/>
 >>
 >> Nu vil jeg gerne kombinere tekst og javascript som her :
 >>
 >> <script type="text/javascript">
 >> var x = 10;
 >> document.write(x);
 >> </script>
 >>
 >> Hej og velkommen.
 >> Her vil jeg skrive om noget.
 >> Og her noget mere.
 >>
 >> Men så fucker det jo javascript koden op :
 >>
 >> <script type="text/javascript"><br/>
 >> var x = 10;<br/>
 >> document.write(x);<br/>
 >> </script><br/>
 >> <br/>
 >> Hej og velkommen.<br/>
 >> Her vil jeg skrive om noget.<br/>
 >> Og her noget mere.<br/>
 >>
 >> Jeg vil meget gerne undgå at skulle til at skrive <br/> efter hver
 >> linie i alle mine filer med tekst til hjemmesiden fordi det er da for
 >> besværligt så håber i derude har nogen ideer til en anden løsning.
 >
 > http://dk2.php.net/manual/en/function.nl2br.php >
 > $is_script = false;
 > $lines = file();
 > while ( $lines as $lin) {
 > if ( str_pos( $lin, '<script'))
 > $is_script = true;
 > }
 > if ( isscript && str_pos( $lin, '</script')) {
 > $is_script = false;
 > }
 > if ( !$is_script) {
 > $lin = nl2br( $lin, true);
 > }
 > // udskriv $lin
 > }
 >
 > De sædvanlige forbehold... Også for at man ikke kan skrive til arrayet i
 > worech loops.
 >
 > Birger
 >
 Ok tak men det ser ud til det kun virker hvis det først er "<script" der 
 kan godt stå noget før.
 Jeg fandt dette :
 preg_replace('/(?<!>)\r\n/', "<br/>\r\n", $data)
 Det ser næsten ud til at gøre som jeg vil.
 Men hvis jeg har :
    <img>
          Hej med dig.
    Halløjsa.
 Så bliver der til :
    <img>
          Hej med dig.<br/>
    Halløjsa.<br/>
 Men det skulle gerne blive til :
    <img><br/>
          Hej med dig.<br/>
    Halløjsa.<br/>
 Hvordan gør man det ?
            
             |  |  | 
   Birger Sørensen (21-02-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  21-02-11 18:18
 | 
 |  | 
 
            scootergrisen formulerede mandag:
 > Den 21-02-2011 16:41, Birger Sørensen skrev:
 >> scootergrisen kom med følgende:
 >>> Jeg har et problem jeg ikke ved hvordan jeg skal løse.
 >>>
 >>> Teksten som skal vises på min hjemmeside står i filer som her :
 >>>
 >>> Hej og velkommen.
 >>> Her vil jeg skrive om noget.
 >>> Og her noget mere.
 >>>
 >>> Derefter sender jeg teskten igennem noget kode som tilføjer <br/> :
 >>>
 >>> Hej og velkommen.<br/>
 >>> Her vil jeg skrive om noget.<br/>
 >>> Og her noget mere.<br/>
 >>>
 >>> Nu vil jeg gerne kombinere tekst og javascript som her :
 >>>
 >>> <script type="text/javascript">
 >>> var x = 10;
 >>> document.write(x);
 >>> </script>
 >>>
 >>> Hej og velkommen.
 >>> Her vil jeg skrive om noget.
 >>> Og her noget mere.
 >>>
 >>> Men så fucker det jo javascript koden op :
 >>>
 >>> <script type="text/javascript"><br/>
 >>> var x = 10;<br/>
 >>> document.write(x);<br/>
 >>> </script><br/>
 >>> <br/>
 >>> Hej og velkommen.<br/>
 >>> Her vil jeg skrive om noget.<br/>
 >>> Og her noget mere.<br/>
 >>>
 >>> Jeg vil meget gerne undgå at skulle til at skrive <br/> efter hver
 >>> linie i alle mine filer med tekst til hjemmesiden fordi det er da for
 >>> besværligt så håber i derude har nogen ideer til en anden løsning.
 >>
 >> http://dk2.php.net/manual/en/function.nl2br.php >>
 >> $is_script = false;
 >> $lines = file();
 >> while ( $lines as $lin) {
 >> if ( str_pos( $lin, '<script'))
 >> $is_script = true;
 >> }
 >> if ( isscript && str_pos( $lin, '</script')) {
 >> $is_script = false;
 >> }
 >> if ( !$is_script) {
 >> $lin = nl2br( $lin, true);
 >> }
 >> // udskriv $lin
 >> }
 >>
 >> De sædvanlige forbehold... Også for at man ikke kan skrive til arrayet i
 >> worech loops.
 >>
 >> Birger
 >>
 >
 > Ok tak men det ser ud til det kun virker hvis det først er "<script" der kan 
 > godt stå noget før.
 >
 > Jeg fandt dette :
 > preg_replace('/(?<!>)\r\n/', "<br/>\r\n", $data)
 >
 > Det ser næsten ud til at gøre som jeg vil.
 > Men hvis jeg har :
 >    <img>
 >          Hej med dig.
 >    Halløjsa.
 >
 > Så bliver der til :
 >    <img>
 >          Hej med dig.<br/>
 >    Halløjsa.<br/>
 >
 > Men det skulle gerne blive til :
 >    <img><br/>
 >          Hej med dig.<br/>
 >    Halløjsa.<br/>
 >
 > Hvordan gør man det ?
 Har absolut ingen erfarin med regexp.
 Mit forslag skal virke på ting der står før script også.
 Ser lige...
 if ( isscript && str_pos( $lin, '</script')) {
 skal selvfølgelig være
 if ( $is_script && str_pos( $lin, '</script')) {
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
    Martin Larsen (21-02-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  21-02-11 19:42
 | 
 |  | Birger Sørensen wrote:
 
 > Har absolut ingen erfarin med regexp.
 
 Du ville gøre dig selv en kæmpe tjeneste ved at lære dig det. Jeg vil
 uden tøven sige at det er det nyttigste værktøj jeg nogen sinde har
 lært. Jeg har som konsulent siddet i en del softwareafdelinger og har
 ofte undret mig over hvor få udviklere der brugte regex. De fleste er
 nærmest bange for det! Med det resultat at de laver nogle unødigt
 komplicererede og ufleksible løsninger på problemer der kræver få
 linjers kode med regex.
 
 Martin
 
 
 |  |  | 
     Anonymous (21-02-2011) 
 
	
          | |  | Kommentar Fra : Anonymous
 | 
 Dato :  21-02-11 20:06
 | 
 |  | Den 21-02-2011 19:41, Martin Larsen skrev:
 > Birger Sørensen wrote:
 >
 >> Har absolut ingen erfarin med regexp.
 >
 > Du ville gøre dig selv en kæmpe tjeneste ved at lære dig det. Jeg vil
 > uden tøven sige at det er det nyttigste værktøj jeg nogen sinde har
 > lært. Jeg har som konsulent siddet i en del softwareafdelinger og har
 > ofte undret mig over hvor få udviklere der brugte regex. De fleste er
 > nærmest bange for det! Med det resultat at de laver nogle unødigt
 > komplicererede og ufleksible løsninger på problemer der kræver få
 > linjers kode med regex.
 
 Grunden til, nogle folk er afværgende, kan også være, at RegExp er
 (eller kan være) krævende for performance. Visse opgaver vil det være
 overkill til, og kan måske løses af en anden kode, som gør det hurtigere.
 
 
 Men når det er sagt - ja, det er ret genialt værktøj :)
 
 Jeg bruger det selv ved POST af formularer, hvor jeg tjekker, at
 hjemmeside-felter og navnefelter mm. kun indeholder de tegn, jeg vil
 have. Sådan et sted er det f.eks. helt fint at bruuge RegExp - lav en
 function, som tager pattern som argument. Den function fylder nada..
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
   Martin Larsen (21-02-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  21-02-11 19:38
 | 
 |  | scootergrisen wrote:
 
 > Så bliver der til :
 > <img>
 >          Hej med dig.<br/>
 >      Halløjsa.<br/>
 >
 > Men det skulle gerne blive til :
 > <img><br/>
 >          Hej med dig.<br/>
 >      Halløjsa.<br/>
 
 Jeg ville også lave det med regex. Inden jeg kigger på det vil jeg lige
 have slået fast om jeg forstår det rigtigt: Der skal <br/> efter alle
 linjer, *undtagen* hvis de står mellem <script> og </script> ?
 
 Martin
 
 
 |  |  | 
    scootergrisen (21-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  21-02-11 20:04
 | 
 |  | > Jeg ville også lave det med regex. Inden jeg kigger på det vil jeg lige
 > have slået fast om jeg forstår det rigtigt: Der skal <br/> efter alle
 > linjer, *undtagen* hvis de står mellem <script> og </script> ?
 
 Yep.
 
 Vil dog også gerne kunne undlade <br/> ved <?php og ?> og <pre> </pre>
 og sådan nogen men det kan vi måske prøve og udvidde den til bagefter.
 
 
 
 |  |  | 
     Martin Larsen (21-02-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  21-02-11 21:57
 | 
 |  | 
 
            scootergrisen wrote:
 > Vil dog også gerne kunne undlade <br/> ved <?php og ?> og <pre> </pre>
 > og sådan nogen men det kan vi måske prøve og udvidde den til bagefter.
 Ja så blev opgaven lidt mere kompliceret, men også desto mere udfordrende :)
 Med de fleste regex-implementationer (bl.a. PHPs) er det 
 vanskeligt/umuligt at *udelukke* mellem tags, så derfor kan man bruge et 
 lille trick: Erstat newlines med <br/> over det hele, og ryd så op 
 bagefter mellem de relevante tags.
 I programmet har jeg opdelt og kommenteret det regulære udtryk for at 
 tydeliggøre hvordan det virker. Det kunne sagtens skrives på en enkelt 
 linje, men så bliver det pludselig meget svært at hitte rede i (mere end 
 det er i forvejen!) som du kan se:
 <(script|pre|option)[^>]*>.*?</\1>(?:<br/>)?|<\?php.*?\?>(?:<br/>)?
 Jeg har gjort det sådan at du i excludeTags kan angive de tags der ikke 
 skal behandles, her script, pre og option. Du kan selv tilføje fx 
 select. Php-tags er automatisk med og skal ikke angives.
 Programmet får sikkert smadret layoutet i newsreaderen, men du kan se og 
 afprøve det her:
http://kreacom.dk/test/br-test.php.txt
http://kreacom.dk/test/br-test.php En afsluttende bemærkning: Når man arbejder med regex (som ved al 
 databehandling i øvrigt), er der et ordsprog: Kend dine data. Det 
 betyder at der gøres visse forudsætninger. I mit eksempel forudsættes 
 det således at der ikke allerede forekommer </br> mellem de pågældende 
 tags, fx </pre><br/></pre>
 Hvis du mener at der kan være det, skal det ændres en smule.
 Martin
 <?
 $html = file_get_contents('br-tekst');
 $excludeTags = 'script|pre|option'; // Mellem disse tags skal der ikke 
 være <br/>
 $regex = <<<EOD
 <($excludeTags)[^>]*>.*?</\\1>  #Her matches der mellem excludeTags, fx 
 <pre>abc</pre>
 (?:<br/>)?                      #Fjern trailing <br/>, fx </script><br/>.
 |                               # Eller ...
 <\\?php.*?\\?>                  #Match mellem php-tags
 (?:<br/>)?                      # og fjern igen trailing <br/>
 EOD;
 // Først erstat ALLE newlines med <br/>:
 $html = str_replace("\n", "<br/>\n", $html);
 // Så fjern de overflødige </br> mellem udvalgte tags:
 $html = preg_replace_callback("%$regex%isx", 'mycallback', $html);
 // Udskriv med html-entititer så vi kan se resultatet
 echo '<pre>', htmlspecialchars($html), '</pre>';
 function mycallback($matches) {
      return str_replace('<br/>', '', $matches[0]);
 }
 ?>
            
             |  |  | 
      Andreas Andersen (22-02-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  22-02-11 06:14
 | 
 |  | Den 21-02-2011 21:56, Martin Larsen skrev:
 > En afsluttende bemærkning: Når man arbejder med regex (som ved al
 > databehandling i øvrigt), er der et ordsprog: Kend dine data. Det
 > betyder at der gøres visse forudsætninger. I mit eksempel forudsættes
 > det således at der ikke allerede forekommer </br> mellem de pågældende
 > tags, fx </pre><br/></pre>
 
 Problemet er vel et specialtilfælde af parentesmatching, som regulære
 udtryk som bekendt ikke kan håndtere til vilkårligt niveau (medmindre
 det brugte sprog har en eller anden udvidelse til regulære udtryk). Nu
 har jeg ikke studeret dit udtryk i fuldstændig detalje, men det ser ud
 til, at du har gjort delen imellem <script> og </script> non-greedy. Det
 betyder jo, at det vil dørke ved f.eks.:
 
 <script>
 // Dette er imellem <script></script>
 document.write("Whatever!");
 </script>
 
 hvor det vil matche <script>// Dette er imellem <script></script>
 
 Et tænkt eksempel ganske vist, men jeg synes regulære udtryk er en
 hammer til en skrue i dette tilfælde.
 
 --
 Andreas
 
 
 |  |  | 
       Martin Larsen (22-02-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  22-02-11 09:43
 | 
 |  | Andreas Andersen wrote:
 
 > Problemet er vel et specialtilfælde af parentesmatching, som regulære
 > udtryk som bekendt ikke kan håndtere til vilkårligt niveau (medmindre
 > det brugte sprog har en eller anden udvidelse til regulære udtryk).
 
 Korrekt
 
 > hvor det vil matche <script>// Dette er imellem <script></script>
 
 > Et tænkt eksempel ganske vist, men jeg synes regulære udtryk er en
 > hammer til en skrue i dette tilfælde.
 
 Du har ret i forbeholdet, men det er også derfor jeg gør opmærksom på
 "kend dine data". Jeg kender ikke grisens data og kan derfor ikke afgøre
 om dette er den rette løsning. Som han beskriver det, tror jeg dog det
 vil virke helt fint.
 
 En hammer til en skrue? Nej,bestemt ikke.Jeg vil mere sig en svensknøgle
 til en møtrik. Det er fint i rigtigt mange tilfælde, men nogle gange
 skal der en fastnøgle til.
 
 En fastnøgle i dette tilfælde vil være en parser.
 
 Martin
 
 
 |  |  | 
        Andreas Andersen (22-02-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  22-02-11 10:24
 | 
 |  | 
 
            Den 22-02-2011 09:43, Martin Larsen skrev:
 > Du har ret i forbeholdet, men det er også derfor jeg gør opmærksom på
 > "kend dine data". Jeg kender ikke grisens data og kan derfor ikke afgøre
 > om dette er den rette løsning. Som han beskriver det, tror jeg dog det
 > vil virke helt fint.
 Det har du nok ret i.
 > En hammer til en skrue? Nej,bestemt ikke.Jeg vil mere sig en svensknøgle
 > til en møtrik. Det er fint i rigtigt mange tilfælde, men nogle gange
 > skal der en fastnøgle til.
 >
 > En fastnøgle i dette tilfælde vil være en parser.
 Købt    -- 
 Andreas
            
             |  |  | 
      scootergrisen (24-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  24-02-11 15:12
 | 
 |  | Tak for koden.
 Nu har jeg prøvet den noget tid og det virker da også sådan næsten som
 jeg vil have det men alligevel ikke helt.
 
 Jeg har noget output fra browseren :
 
 __________________________________
 <div class="kode outputb">
 <script type="text/javascript">
 
 function playPause() {
 var myVideo = document.getElementById("hiuibuoyiboo");
 if (myVideo.paused)
 myVideo.play();
 else
 myVideo.pause();
 }
 
 function makeLille() {
 var myVideo = document.getElementById("hiuibuoyiboo");
 myVideo.height = (myVideo.videoHeight / 2 ) ;
 }
 
 function makeBig() {
 var myVideo = document.getElementById("hiuibuoyiboo");
 myVideo.height = (myVideo.videoHeight * 2 ) ;
 }
 
 function makeNormal() {
 var myVideo = document.getElementById("hiuibuoyiboo");
 myVideo.height = (myVideo.videoHeight) ;
 }
 
 </script>
 <br/>
 
 <br/>
 <a href="javascript:playPause();">Start/Pause</a><br/>
 | <a href="javascript:makeLille();">Lille</a><br/>
 | <a href="javascript:makeNormal();">Normal</a><br/>
 | <a href="javascript:makeBig();">Stor</a><br/>
 <br/>
 
 <br><br/>
 <br><br/>
 <br/>
 <video id="hiuibuoyiboo" height="226" preload="none"><br/>
 <source xxxbunny.ogv" type="video/ogg" /><br/>
 <source xxxbunny.webm" type="video/webm" /><br/>
 <source xxxbunny.mp4" type="video/mp4" /><br/>
 </video></div>
 </div>
 _________________________________
 
 Som det ses virker det mellem <script> og </script>. Ingen <br/>.
 Men i dette tilfælde skulle der heller ikke være <br/> mellem <div
 class="kode outputb"> og </div>... altså det hele.
 
 Jeg tænkte man kunne skrive :
 $excludeTags = 'div class="kode outputb"|script|style|pre|option';
 
 Men nej det virker ikke.
 
 Kan det rettes ?
 
 Sidder og overvejer om jeg skal bruge <br/> overalt i mine filerne men
 det bare et kæmpe arbejde både at tilføje dem nu men også når jeg skal
 skrive noget i fremtiden at jeg så skal tilføje et <br/> ved hver
 linieskift.
 
 Hvordan gør i andre ?
 
 
 |  |  | 
       Martin Larsen (24-02-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  24-02-11 20:34
 | 
 |  | scootergrisen wrote:
 
 > Men i dette tilfælde skulle der heller ikke være <br/> mellem <div
 > class="kode outputb"> og </div>... altså det hele.
 
 Altså kun den div med det pågældende classname?
 
 > Jeg tænkte man kunne skrive :
 > $excludeTags = 'div class="kode outputb"|script|style|pre|option';
 > Men nej det virker ikke.
 
 Næsten rigtigt! Der kræves dog en lidt speciel syntax for at det virker:
 
 $excludeTags = 'div(?=\ class="kode\ outputb")|script|style|pre|option';
 
 En vigtig detalje er at mellemrum skal escapes.
 
 Hvis du nu vil have flere klasser med, kan du indsætte dem sådan:
 
 (kode\ outputb|kode\ outputa) i ovenstående linje. Lodret streg betyder
 "eller". Bemærk igen escape af mellemrum!
 
 > Kan det rettes ?
 
 Det skulle virke med ovenståede modifikation!
 
 > Hvordan gør i andre ?
 
 Jeg sidder faktisk med en tilsvarende problemstilling hvor en kunde selv
 skal kunne opdatere et site - en slags mini cms. Og jeg bruger også en
 tilsvarende løsning som her, dog lidt simplere ider han ikke skal bruge
 script og andre specialtags.
 
 Martin
 
 
 |  |  | 
        scootergrisen (24-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  24-02-11 22:53
 | 
 |  | > $excludeTags = 'div(?=\ class="kode\ outputb")|script|style|pre|option';
 
 Det hjalp lidt.
 
 Men det ser ud til den stoppe med at fjerne <br/> ved den første </div>
 den møder og ikke ved den rigtige </div>.
 
 
 
 --------------------------------------------
 Dette :
 --------------------------------------------
 <div class="kode outputb">
 
 <div>
 <a href="javascript:playPause();">Start/Pause</a>
 | <a href="javascript:makeLille();">Lille</a>
 | <a href="javascript:makeNormal();">Normal</a>
 | <a href="javascript:makeBig();">Stor</a>
 </div> <------- den første </div> her efter fjerner den ikke mere <br/>
 
 <br/>
 <br><br/>
 <br><br/>
 <br/>
 <video id="hiuibuoyiboo" height="226" preload="none"><br/>
 <source er/big_buck_bunny.ogv" type="video/ogg" /><br/>
 <source /big_buck_bunny.webm" type="video/webm" /><br/>
 <source er/big_buck_bunny.mp4" type="video/mp4" /><br/>
 </video></div>
 </div>
 
 
 
 --------------------------------------------
 Skulle have været :
 --------------------------------------------
 <div class="kode outputb">
 
 <div>
 <a href="javascript:playPause();">Start/Pause</a>
 | <a href="javascript:makeLille();">Lille</a>
 | <a href="javascript:makeNormal();">Normal</a>
 | <a href="javascript:makeBig();">Stor</a>
 </div>
 
 
 <br>
 <br>
 
 <video id="hiuibuoyiboo" height="226" preload="none
 <source er/big_buck_bunny.ogv" type="video/ogg" />
 <source /big_buck_bunny.webm" type="video/webm" />
 <source er/big_buck_bunny.mp4" type="video/mp4" />
 </video></div>
 </div>
 
 
 --------------------------------------------
 
 
 |  |  | 
         Martin Larsen (25-02-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  25-02-11 09:41
 | 
 |  | scootergrisen wrote:
 
 > Det hjalp lidt.
 >
 > Men det ser ud til den stoppe med at fjerne <br/> ved den første </div>
 > den møder og ikke ved den rigtige </div>.
 
 Problemet er at du har udvidet konceptet rigtigt meget siden dit første
 indlæg!
 
 Desuden er det det du ønsker inkonsistent med hvad du først sagde, nemlig:
 
 > Men i dette tilfælde skulle der heller ikke være <br/> mellem <div class="kode outputb"> og </div>... altså det hele.
 
 
 Og i dit seneste eksempel vil du jo netop GERNE have breaks med, nemlig
 umiddelbart før <video> ! Så hvad er det EGENTLIGT du ønsker?
 
 Tilsidt, så er din opmarkering forkert:Antal <div> og </div> matcher ikke.
 
 Martin
 
 
 |  |  | 
          scootergrisen (25-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  25-02-11 14:09
 | 
 |  | De 2 x <br/> i det sidste eksempel er nogen jeg selv har sat ind i den
 rå tekst så de skal gerne bevares gennem det hele.
 
 Det med at antal <div> ikke passede det mente jeg ikke var vigtigt da
 det var for at vise hvor den startede med at indsætte <br/> og hvor den
 stoppede.
 
 Dette er den rå tekst inden vi gør noget :
 -------------------------------------------------------
 blah
 blah
 blah
 
 <div class="kode outputb">
 
 <div>
 <a href="javascript:playPause();">Start/Pause</a>
 | <a href="javascript:makeLille();">Lille</a>
 | <a href="javascript:makeNormal();">Normal</a>
 | <a href="javascript:makeBig();">Stor</a>
 </div>
 
 <br>
 <br>
 
 <video id="hiuibuoyiboo" height="226" preload="none">
 <source er/big_buck_bunny.ogv" type="video/ogg" />
 <source /big_buck_bunny.webm" type="video/webm" />
 <source er/big_buck_bunny.mp4" type="video/mp4" />
 </video>
 
 </div>
 blah
 blah
 blah
 
 ------------------------------------------------------------
 Det skulle gerne blive til :
 -------------------------------------------------------------
 blah<br/>
 blah<br/>
 blah<br/>
 <br/>
 <div class="kode outputb">
 
 <div>
 <a href="javascript:playPause();">Start/Pause</a>
 | <a href="javascript:makeLille();">Lille</a>
 | <a href="javascript:makeNormal();">Normal</a>
 | <a href="javascript:makeBig();">Stor</a>
 </div>
 
 <br>
 <br>
 
 <video id="hiuibuoyiboo" height="226" preload="none">
 <source er/big_buck_bunny.ogv" type="video/ogg" />
 <source /big_buck_bunny.webm" type="video/webm" />
 <source er/big_buck_bunny.mp4" type="video/mp4" />
 </video>
 
 </div><br/>
 blah<br/>
 blah<br/>
 blah<br/>
 <br/>
 ------------------------------------------------------------
 Men istedet bliver det sådan :
 -------------------------------------------------------------
 blah<br/>
 blah<br/>
 blah<br/>
 <br/>
 <div class="kode outputb">
 
 <div>
 <a href="javascript:playPause();">Start/Pause</a>
 | <a href="javascript:makeLille();">Lille</a>
 | <a href="javascript:makeNormal();">Normal</a>
 | <a href="javascript:makeBig();">Stor</a>
 </div>
 <br/>
 <br><br/>
 <br><br/>
 <br/>
 <video id="hiuibuoyiboo" height="226" preload="none"><br/>
 <source er/big_buck_bunny.ogv" type="video/ogg" /><br/>
 <source /big_buck_bunny.webm" type="video/webm" /><br/>
 <source er/big_buck_bunny.mp4" type="video/mp4" /><br/>
 </video><br/>
 
 </div><br/>
 blah<br/>
 blah<br/>
 blah<br/>
 <br/>
 
 
 |  |  | 
           Martin Larsen (26-02-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  26-02-11 22:49
 | 
 |  | scootergrisen wrote:
 
 > Det skulle gerne blive til :
 
 <klip>
 
 Ok, som jeg ser det er der to udfordringer:
 
 1. Eksisterende <br> skal bevares
 
 2. Du vil udelukke <div class="kode outputb"> ... </div> selv om der er
 indlejrede div.
 
 Korrekt?
 
 
 Nr. 1 er let.
 
 Nr. 2 er svært. Ok, 2 niveuaer som nu vil være let nok, men så får du
 pludselig brug for endnu et niveau, og så dur det alligevel ikke.
 
 
 Jeg vil derfor foreslå et alternativ: Ud over de almindelig regler som
 gælder nu (dvs. lav ikke <br> mellem udvalgte tags i ét niveau) så
 indfør en særlig kommentar-tag som fortolkes af koden, fx
 
 <!--ignore -->
 <div class="kode outputb">
 .....
 </div>
 <!--ignore -->
 
 Dvs. alt mellem ignore-par bliver ikke behandlet af koden. Taggens
 konkrete udforming er hip som hap, det kunne også være ignore-start og
 ignore-slut etc.
 
 Med andre ord vil programmet gør som nu og vil der ud over ignorere
 visse afsnit helt.
 
 Hvis du er tilfreds med en sådan løsning skal jeg gerne udvide koden for
 dig, ellers er der ingen vej uden om en parser.
 
 Martin
 
 
 |  |  | 
            scootergrisen (26-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  26-02-11 23:13
 | 
 |  | Yep det er korrekt det hele du skriver og en løsning med...
 
 > <!--ignore -->
 > <div class="kode outputb">
 > ....
 > </div>
 > <!--ignore -->
 
 ....lyder fint.
 
 Jeg ville fortrække at i stedet for at <br/> blev sat ind over alt også
 efterfølgende fjernet de steder den skal fjernes så ville jeg hellere
 have at <br/> kun blev sat ind der hvor den skal sættes ind.
 
 Det kan godt være jeg ikke har været speciel god til at forklare hvordan
 jeg skulle prøve koden og til hvad men det har heller ikke være så let
 at gennemskue fordi koden skal virke i mange tilfælde og prøvede at
 forklare det på en simpel måde.
 
 Jeg aner simpelthen ikke en skid om parser.
 Men det kunne da være en var en god ide i fremtiden.
 Hvad er det smarte ved en parser hvad end det er og er der egentligt
 nogen grund til at bruge det når jeg kan bruge PHP server side til at
 lave alt HTML koden ?
 
 Hvis det her er noget XML kode :
 
 <contentelements>
 <contentelement type="text">Hej og velkommen</contentelement>
 <contentelement type="javascript">var x = 10;
 document.write(x);
 </contentelement>
 <contentelement type="text">Bla bla</contentelement>
 </contentelements>
 
 Hvor bestemmer man så hvordan teksten skal vises ? Altså hvor der skal
 sættes <br/> ind og hvor der ikke skal.
 Hvis jeg af og til støder på en .xml fil så giver det ikke mening for
 mig fordi man ser jo bare koden også står der noget i stil med at der
 ikker er nogen style til filen.
 
 
 |  |  | 
             Martin Larsen (26-02-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  26-02-11 23:42
 | 
 |  | scootergrisen wrote:
 > Yep det er korrekt det hele du skriver og en løsning med...
 
 <klip>
 
 > ...lyder fint.
 
 Godt så. Skal lave noget kode til dig en af dagene. Vi holder 3-års
 fødseldag for vores datter i morgen :)
 
 > Jeg ville fortrække at i stedet for at <br/> blev sat ind over alt også
 > efterfølgende fjernet de steder den skal fjernes så ville jeg hellere
 > have at <br/> kun blev sat ind der hvor den skal sættes ind.
 
 Der er faktisk ingen forskel. Slutresultatet er det samme.
 
 Lige nu er der en forskel, men det er fordi jeg ikke var klar over at
 der ville forekomme eksisterende <br> i koden. Det nævnte jeg allerede i
 mit først indlæg. Det er dog let at tage hensyn til.
 
 > Jeg aner simpelthen ikke en skid om parser.
 > Men det kunne da være en var en god ide i fremtiden.
 > Hvad er det smarte ved en parser hvad end det er og er der egentligt
 > nogen grund til at bruge det når jeg kan bruge PHP server side til at
 > lave alt HTML koden ?
 
 En parser har intet med specielt XML at gøre. Jovist kan man parse XML,
 men man kan også parse madopskrifter.
 
 PHP indeholder en parser der behandler din php-kode og kontrollerer at
 den er syntaktisk korrekt. Så til normal kodning har du ikke noget at
 bruge en parser til.
 
 Men her vil du behandle/fortolke et *andet* sprog, nemlig HTML, og så
 kommer en parser ind i billedet. Man kan sige at parseren "forstår" den
 pågældende kode.
 
 Meget kort fortalt virker de fleste parsere som tilstandsmaskine. Dvs.
 når den møder fx en <div> starter der en bestemt tilstand hvor der
 gælder bestemt regler, og disse gælder indtil den afsluttende </div>
 mødes. Kommer der er ny <div> ind i mellem, proppes den på stakken og
 behandles osv. Birgers eksempel i starten af tråden er en yderst simpel
 tilstandmaskine der kun tester for <script>.
 
 Jeg har selv brugt parsere (fx PHP SimpleXML der trods navnet er fin til
 at parse HTML) ved screenscraping, dvs. at snuppe data fra hjemmesider
 og bruge i anden sammenhæng. Jeg bruger dog mest regex til dette.
 
 Til dit brug vil det dog være et stort maskineri at sætte i gang, især
 hvis du kan bruge ignore-løsningen.
 
 
 |  |  | 
              scootergrisen (02-03-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  02-03-11 16:18
 | 
 |  | Du har ikke fundet på nogen løsning endnu vel ?
 
 
 |  |  | 
               Martin Larsen (02-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  02-03-11 22:30
 | 
 |  | scootergrisen wrote:
 
 > Du har ikke fundet på nogen løsning endnu vel ?
 
 Jo. Det kommer i morgen. Har ikke haft tid.
 
 
 |  |  | 
                scootergrisen (02-03-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  02-03-11 22:52
 | 
 |  | Den 02-03-2011 22:30, Martin Larsen skrev:
 > scootergrisen wrote:
 >
 >> Du har ikke fundet på nogen løsning endnu vel ?
 >
 > Jo. Det kommer i morgen. Har ikke haft tid.
 
 ok tænkte bare det kunne være jeg havde overset det fordi der var mange
 tråde.
 
 
 |  |  | 
                 Martin Larsen (03-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  03-03-11 20:59
 | 
 |  | 
 
            scootergrisen wrote:
 > ok tænkte bare det kunne være jeg havde overset det fordi der var mange
 > tråde.
 Ja den er blevet ganske lang :)
 Men her er resultatet. Du kan se og prøve det her:
http://www.kreacom.dk/test/br-test.php
http://www.kreacom.dk/test/br-test.php.txt
http://www.kreacom.dk/test/br-tekst Jeg har brugt din seneste råtekst som eksempel, bortset fra at jeg 
 indsat <!--ignore--> tags. Og resultatet ser ud til at give det du ønsker.
 Programmet bevarer eksisterende <br/>.
 <?
 $html = file_get_contents('br-tekst');
 $excludeTags = 'div(?=\ class="(kode\ outputb|kode\ 
 outputa)")|script|style|pre|option'; // Mellem disse tags skal der ikke 
 være <br/>
 $regex = <<<EOD
 <!--ignore\-->.*?<!--ignore-->  # Ignorer mellem disse to kommentarpar
 (?:<<br/>>)?                    # Fjern trailing <<br/>>
 |                               # Eller ...
 <($excludeTags)[^>]*>.*?</\\1>  # Her matches der mellem excludeTags, fx 
 <pre>abc</pre>
 (?:<<br/>>)?                    # Fjern trailing <<br/>>
 |                               # Eller ...
 <\\?php.*?\\?>                  # Match mellem php-tags
 (?:<<br/>>)?                    # og fjern igen trailing <<br/>>
 EOD;
 // Først erstat ALLE newlines med <<br/>>:
 $html = str_replace("\n", "<<br/>>\n", $html);
 // Så fjern de overflødige <</br>> mellem udvalgte tags:
 $html = preg_replace_callback("%$regex%isx", 'mycallback', $html);
 // Lav nu <<br/>> om til det korrekte <br/>
 $html = str_replace('<<br/>>', '<br/>', $html);
 // Udskriv med html-entititer så vi kan se resultatet
 echo '<pre>', htmlspecialchars($html), '</pre>';
 function mycallback($matches) {
      return str_replace('<<br/>>', '', $matches[0]);
 }
 ?>
            
             |  |  | 
                  scootergrisen (03-03-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  03-03-11 22:17
 | 
 |  | Tak for du har gidet og bruge alt den tid på at lave det.
 Det ser umiddelbart ud til jeg endelig har fået en løsning og slipper
 for at skrive <br/> over alt manuelt.
 Jeg prøver lige og teste det mere også vender jeg tilbage.
 
 
 |  |  | 
             Andreas Andersen (27-02-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  27-02-11 00:31
 | 
 |  | 
 
            Den 26-02-2011 23:12, scootergrisen skrev:
 > Yep det er korrekt det hele du skriver og en løsning med...
 >
 >  > <!--ignore -->
 >  > <div class="kode outputb">
 >  > ....
 >  > </div>
 >  > <!--ignore -->
 >
 > ...lyder fint.
 >
 > Jeg ville fortrække at i stedet for at <br/> blev sat ind over alt også
 > efterfølgende fjernet de steder den skal fjernes så ville jeg hellere
 > have at <br/> kun blev sat ind der hvor den skal sættes ind.
 Du kunne have jo sat de <br /> ind manuelt 100 gange nu    Hvad med 
 bare at have <br /> i udklipsholderen, når du skriver dine tekstfiler? 
 Eller indsætte f.eks. _ i stedet for <br /> og køre søg/erstat 
 efterfølgende?
 -- 
 Andreas
            
             |  |  | 
              scootergrisen (27-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  27-02-11 01:50
 | 
 |  | 
 
            > Du kunne have jo sat de <br /> ind manuelt 100 gange nu    Hvad med
 > bare at have <br /> i udklipsholderen, når du skriver dine tekstfiler?
 > Eller indsætte f.eks. _ i stedet for <br /> og køre søg/erstat
 > efterfølgende?
 >
 Det handler ik kun om at sætte dem ind nu men også alt det jeg skal 
 skrive i fremtiden.
 Og nej jeg kunne ikke have sat <br/> ind 100 gange nu. Jeg har mange 
 filer og det er jo ikke alle steder hvor der er linieskift der er står 
 <br/>.
 Udklipsholderen bruger jeg til andre ting.
 Kunne da godt lave for eksempel F1 til at sætte <br/> eller sådan noget 
 men lad os sige jeg skal kopier noget ind som ikke har <br/> så skal jeg 
 sidde og indsætte det hver gang. Beværligt.
 Jeg ville bare gerne have at teksten stod helt normalt i kildekoden 
 inden den kommer igennem PHP.
 Og det virker jo også næsten som jeg vil have det.
 Mangler bare lige det sidste.
 Jeg bare ikke så god til regulære udtryk så ved ikke hvordan man laver 
 det selv jeg har brugt det nogen gange og ved at det kan være rigtig 
 nyttigt.
            
             |  |  | 
               Andreas Andersen (27-02-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  27-02-11 09:28
 | 
 |  | Den 27-02-2011 01:49, scootergrisen skrev:
 > Det handler ik kun om at sætte dem ind nu men også alt det jeg skal
 > skrive i fremtiden.
 >
 > Og nej jeg kunne ikke have sat <br/> ind 100 gange nu. Jeg har mange
 > filer og det er jo ikke alle steder hvor der er linieskift der er står
 > <br/>.
 >
 > Udklipsholderen bruger jeg til andre ting.
 > Kunne da godt lave for eksempel F1 til at sætte <br/> eller sådan noget
 > men lad os sige jeg skal kopier noget ind som ikke har <br/> så skal jeg
 > sidde og indsætte det hver gang. Beværligt.
 >
 > Jeg ville bare gerne have at teksten stod helt normalt i kildekoden
 > inden den kommer igennem PHP.
 
 Undskyld jeg bliver ved at stille spørgsmål, men det virker forkert, det
 du har gang i. Der er et par ting, der undrer mig lidt:
 
 1) Når jeg skriver HTML, har jeg ikke ret meget brug for <br /> i selve
 teksten, den flyder af sig selv. Så det er kun, når jeg skal skifte
 afsnit, og der bruger jeg som regel <p></p>. Hvorfor har du så mange <br
 />? Det eneste tilfælde jeg lige kan komme på, er hvis du viser digte
 eller sange på dine sider.
 2) Det lyder som om, du vil have PHP til at lave den her erstatning,
 hver eneste gang, der skal serveres en side. Jeg ville vælge at generere
 siderne med <br />, hver gang du har lavet ændringer i stedet, så det
 kun skal gøres én gang.
 
 I forhold til Martins forslag med <!-- ignore --> ville jeg nok
 foretrække at vende den om, så jeg markerede det, der faktisk skulle ske
 noget med, fremfor det der skal ignoreres, men det er jo en smagssag.
 
 En anden mulighed er at bruge pre-tagget og sætte fonten, så den ikke er
 fixed-width.
 
 ..poetry { font-family: Arial;
 font-size: 12px; }
 
 <pre class="poetry">
 Roses are red
 Violets are blue
 </pre>
 
 --
 Andreas
 
 
 |  |  | 
                scootergrisen (27-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  27-02-11 20:33
 | 
 |  | > 1) Når jeg skriver HTML, har jeg ikke ret meget brug for <br /> i selve
 > teksten, den flyder af sig selv.
 
 Hvis der er meget tekst så kan det godt blive for kompakt.
 Der var en som skrev at han syns der skulle være mere rum mellem teksten
 eller sådan noget. Og han lavede linieskift eller mellerum når der var 2
 linier.
 
 Jeg syns teksten er lettere at læse hvis der er noget mellemrum istedet
 for det står ud i et som i en bog.
 
 > Så det er kun, når jeg skal skifte
 > afsnit, og der bruger jeg som regel <p></p>. Hvorfor har du så mange <br
 > />?
 
 For at lave lidt plads i teksten og alt muligt andet.
 Det kan vel være det samme at bruge <br/> som at bruge <p></p> eller ?
 Det så bare lettere at sige erstat newline med newline+<br/>
 
 > Det eneste tilfælde jeg lige kan komme på, er hvis du viser digte
 > eller sange på dine sider.
 > 2) Det lyder som om, du vil have PHP til at lave den her erstatning,
 > hver eneste gang, der skal serveres en side. Jeg ville vælge at generere
 > siderne med <br />, hver gang du har lavet ændringer i stedet, så det
 > kun skal gøres én gang.
 
 Så ville det måske gå hurtigere at loade siderne men sikkert også
 besværligt at lave.
 Lad os sige der skal kaldes 5 filer for at genere en HTML fil så skal
 man vel checke dato/tid på de 5 filerne og sammenligne med dato/tid som
 man så skal gemme et sted for sidste gang HTML filen blev genereret.
 Eller hvordan skulle PHP ellers vide hvornår jeg sidst har lavet ændringen ?
 
 > I forhold til Martins forslag med <!-- ignore --> ville jeg nok
 > foretrække at vende den om, så jeg markerede det, der faktisk skulle ske
 > noget med, fremfor det der skal ignoreres, men det er jo en smagssag.
 
 Umiddelbart tror jeg det er lettest at bruge ignore fordi jeg skal
 næsten altid have <br/>. Så hvis jeg bruger ignore skal jeg ikke skrive
 det så mange steder som hvis jeg valgte at gøre det omvendt.
 
 > En anden mulighed er at bruge pre-tagget og sætte fonten, så den ikke er
 > fixed-width.
 >
 > .poetry { font-family: Arial;
 > font-size: 12px; }
 >
 > <pre class="poetry">
 > Roses are red
 > Violets are blue
 > </pre>
 
 Det kan jeg ikke forstille mig er godt.
 Hvis så med lange linier ?
 
 
 |  |  | 
                 Andreas Andersen (28-02-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  28-02-11 07:06
 | 
 |  | Den 27-02-2011 20:33, scootergrisen skrev:
 > Så ville det måske gå hurtigere at loade siderne men sikkert også
 > besværligt at lave.
 
 Det kan også sagtens være, det er overkill. Jeg ved ikke, hvor stort dit
 site er.
 
 > Lad os sige der skal kaldes 5 filer for at genere en HTML fil så skal
 > man vel checke dato/tid på de 5 filerne og sammenligne med dato/tid som
 > man så skal gemme et sted for sidste gang HTML filen blev genereret.
 > Eller hvordan skulle PHP ellers vide hvornår jeg sidst har lavet
 > ændringen ?
 
 Det var da en mulighed. Ellers kunne du evt. lave et lille
 php-administrationsmodul, hvor du kunne paste sideteksterne, hver gang
 du havde rettet i dem og der få den til at foretage rettelserne.
 
 >> I forhold til Martins forslag med <!-- ignore --> ville jeg nok
 >> foretrække at vende den om, så jeg markerede det, der faktisk skulle ske
 >> noget med, fremfor det der skal ignoreres, men det er jo en smagssag.
 >
 > Umiddelbart tror jeg det er lettest at bruge ignore fordi jeg skal
 > næsten altid have <br/>. Så hvis jeg bruger ignore skal jeg ikke skrive
 > det så mange steder som hvis jeg valgte at gøre det omvendt.
 
 Det er jo også ligeså fint, så længe du kun har én type tekst, der skal
 gøres noget ved. Hvis du udvidede med en ny type tekst, der skulle ske
 noget andet med, ville du være nødt til at lave det om.
 
 >> En anden mulighed er at bruge pre-tagget og sætte fonten, så den ikke er
 >> fixed-width.
 >>
 >> .poetry { font-family: Arial;
 >> font-size: 12px; }
 >>
 >> <pre class="poetry">
 >> Roses are red
 >> Violets are blue
 >> </pre>
 >
 > Det kan jeg ikke forstille mig er godt.
 > Hvis så med lange linier ?
 
 Det dur ikke til lange linjer. Det var ment som forslag, hvis dine mange
 <br /> var fordi din side omhandlede sange, bageopskrifter eller
 lignende, du pastede ind.
 
 --
 Andreas
 
 
 |  |  | 
                  scootergrisen (28-02-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  28-02-11 08:26
 | 
 |  |  |  |  | 
                 Jørn Andersen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Jørn Andersen
 | 
 Dato :  01-03-11 05:11
 | 
 |  | On Sun, 27 Feb 2011 20:33:29 +0100, scootergrisen
 <scootergrisen@NOSPANKYOUgmail.com> wrote:
 
 >For at lave lidt plads i teksten og alt muligt andet.
 >Det kan vel være det samme at bruge <br/> som at bruge <p></p> eller ?
 
 Betydningsmæssigt er det to vidt forskellige ting: <p> markerer et
 afsnit - uanset om det vises på en skærm, læses op for binde og
 svagtseende eller hvilken medietype det i øvrigt behandles af.
 
 Det er rigtigt, at det på en skrivemaskine er stort set det samme, men
 ikke i HTML.
 
 Mvh. Jørn
 
 --
 Jørn Andersen
 socialister.dk
 marxisme.dk
 
 
 |  |  | 
                  scootergrisen (01-03-2011) 
 
	
          | |  | Kommentar Fra : scootergrisen
 | 
 Dato :  01-03-11 05:18
 | 
 |  | Den 01-03-2011 05:11, Jørn Andersen skrev:
 > On Sun, 27 Feb 2011 20:33:29 +0100, scootergrisen
 > <scootergrisen@NOSPANKYOUgmail.com>  wrote:
 >
 >> For at lave lidt plads i teksten og alt muligt andet.
 >> Det kan vel være det samme at bruge<br/>  som at bruge<p></p>  eller ?
 >
 > Betydningsmæssigt er det to vidt forskellige ting:<p>  markerer et
 > afsnit - uanset om det vises på en skærm, læses op for binde og
 > svagtseende eller hvilken medietype det i øvrigt behandles af.
 >
 > Det er rigtigt, at det på en skrivemaskine er stort set det samme, men
 > ikke i HTML.
 >
 > Mvh. Jørn
 >
 
 Jeg bruger overhovedet (næste) ikke <p></p> på min hjemmeside.
 Giver det så en lidt længere pause i en skærmoplæser eller hvad ?
 
 Er der nogen grund til jeg skulle begynde at bruge <p></p> i stedet for
 <br/> ?
 
 Hvis jeg skal omgive noget så bruger jeg <div></div> og det giver så
 også et linieskift eller det der svare til det ligesom <p></p>.
 
 
 |  |  | 
                   Martin Larsen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  01-03-11 09:54
 | 
 |  | scootergrisen wrote:
 
 > Er der nogen grund til jeg skulle begynde at bruge <p></p> i stedet for
 > <br/> ?
 
 Almindeligvis er der ikke den store forskel mellem <br> og <p>. Men der
 er den forskel at <p> er et block blokelement, hvilket betyder at du kan
 sætte margin padding mm. på det. Med andre ord kan du finjustere hvor
 meget luft der skal være mellem afsnittene.
 
 Jeg bruger i øvrigt også mest <br>, men jeg gør noget andet end dig. Jeg
 definerer simpelthen 2 x linjeskift som et <br>, altså en tom linje. Det
 har nemlig også den fordel at du kan bruge linjeskift i html-koden til
 at gøre den mere overskuelig uden at det af den grund skaber linjeskift
 i den færdige tekst.
 
 
 Men kunne også definere 3 x linjeskift = <br>.
 
 Martin
 
 
 |  |  | 
                    Anonymous (01-03-2011) 
 
	
          | |  | Kommentar Fra : Anonymous
 | 
 Dato :  01-03-11 10:03
 | 
 |  | Den 01-03-2011 09:53, Martin Larsen skrev:
 > scootergrisen wrote:
 >
 >> Er der nogen grund til jeg skulle begynde at bruge <p></p> i stedet for
 >> <br/> ?
 >
 > Almindeligvis er der ikke den store forskel mellem <br> og <p>.
 
 Jo.
 
 > Men der
 > er den forskel at <p> er et block blokelement, hvilket betyder at du kan
 > sætte margin padding mm. på det. Med andre ord kan du finjustere hvor
 > meget luft der skal være mellem afsnittene.
 
 De har ikke samme betydning overhovedet.
 
 > Jeg bruger i øvrigt også mest <br>, men jeg gør noget andet end dig. Jeg
 > definerer simpelthen 2 x linjeskift som et <br>, altså en tom linje. Det
 > har nemlig også den fordel at du kan bruge linjeskift i html-koden til
 > at gøre den mere overskuelig uden at det af den grund skaber linjeskift
 > i den færdige tekst.
 
 Det er forkert, hvis det er rent visuelt.
 
 > Men kunne også definere 3 x linjeskift = <br>.
 
 Det kunne man, og det er også forkert. Rent udseende skal laves med CSS.
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
                     Martin Larsen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  01-03-11 10:47
 | 
 |  | Anonymous wrote:
 
 >> Almindeligvis er der ikke den store forskel mellem <br> og <p>.
 >
 > Jo.
 
 Jeg mener rent visuelt. Det er det grisen har givet udtryk for. Du kan
 ikke ved et kig på en hjemmeside se om der er brugt <br> eller <p> !
 
 > De har ikke samme betydning overhovedet.
 
 Nej, men de har samme visuelle funktion.
 
 >> Jeg bruger i øvrigt også mest <br>, men jeg gør noget andet end dig. Jeg
 >> definerer simpelthen 2 x linjeskift som et <br>, altså en tom linje. Det
 >> har nemlig også den fordel at du kan bruge linjeskift i html-koden til
 >> at gøre den mere overskuelig uden at det af den grund skaber linjeskift
 >> i den færdige tekst.
 >
 > Det er forkert, hvis det er rent visuelt.
 
 Der er mere til historien. 2 x linjeskift bliver af php-koden behandlet
 til at give enten <br> eller <p> alt efter hvad jeg nu ønsker.
 
 Så det ender altså med at blive styret af CSS som du skriver!
 
 Sagen er den at kunderne ikke er glade for html-koder, de vil gerne
 kunne skrive ren tekst. Og det har jeg så gjort muligt for dem, og det
 virker fortrinligt.
 
 Med andre ord er N x linjeskift bare en simpel opmarkering.
 
 
 |  |  | 
                      Anonymous (01-03-2011) 
 
	
          | |  | Kommentar Fra : Anonymous
 | 
 Dato :  01-03-11 10:56
 | 
 |  | Den 01-03-2011 10:46, Martin Larsen skrev:
 
 > Sagen er den at kunderne ikke er glade for html-koder, de vil gerne
 > kunne skrive ren tekst. Og det har jeg så gjort muligt for dem, og det
 > virker fortrinligt.
 
 Det gør det ikke mere rigtigt.
 
 Og jo, man kan bestemt se forskel. Du har måske en idé om, at blinde
 ikke kan læse eller navigere hjemmesider - dette er ikke rigtigt. De kan
 læse siden, hvis den er korrekt opmærket, og såmænd få betydningen med
 også-
 
 En <p> har betydning. Det har en tekst, som hænger og svæver uden
 opmærkning ikke. Den kan gøre, man mister betydning, at man misforstår
 indholdet, og den kan gøre det sværere at navigere.
 
 Du kan da have din mening, og det er helt fint vi lever i et frit land,
 men som sagt, den er ikke korrekt.
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
                       Anonymous (01-03-2011) 
 
	
          | |  | Kommentar Fra : Anonymous
 | 
 Dato :  01-03-11 11:06
 | 
 |  | Den 01-03-2011 10:56, Anonymous skrev:
 
 > Du kan da have din mening, og det er helt fint vi lever i et frit land,
 > men som sagt, den er ikke korrekt.
 
 Og hvad jeg mener er - sålænge det kun går ud over dig og dine kunder,
 fint med mig. Men ikke forsøge at lære andre herinde noget, som ikke er
 korrekt.
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
                        Martin Larsen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  01-03-11 11:26
 | 
 |  | Anonymous wrote:
 
 > Og hvad jeg mener er - sålænge det kun går ud over dig og dine kunder,
 > fint med mig. Men ikke forsøge at lære andre herinde noget, som ikke er
 > korrekt.
 
 Se svaret lige før. Du har misforstået mig. Det hele ender i korrekt
 html på mine kunders side.
 
 
 |  |  | 
                       Martin Larsen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  01-03-11 11:25
 | 
 |  | 
 
            Hej Rune
  >> Sagen er den at kunderne ikke er glade for html-koder, de vil gerne
  >> kunne skrive ren tekst. Og det har jeg så gjort muligt for dem, og
  >> det virker fortrinligt.
  > Det gør det ikke mere rigtigt.
 Jo. For du har vist helt misforstået mig!
 Først, jeg kender udmærket til den semantiske forskel mellem <br>, <p>, 
 <hX> osv.
 Jeg har gjort sådan at 2 x linjeskift i kundens *råtekst* oversættes til 
 <p> i html-koden af en pre-processor. Og vupti: så er det både visuelt, 
 syntaktisk og semantisk korrekt. Du overså vist der hvor jeg skrev at 
 jeg brugte linjeskift som en simpel opmarkering.
 Det er lidt ligesom med bbs-koder: [b] og [i] osv. Det er ikke html, men 
 det ender det med at blive.
 Længere er den ikke.
 Så vi er altså enige.
 > Og jo, man kan bestemt se forskel. Du har måske en idé om, at blinde
 > ikke kan læse eller navigere hjemmesider - dette er ikke rigtigt. De kan
 > læse siden, hvis den er korrekt opmærket, og såmænd få betydningen med
 > også-
 Her er vi også enige. Men nu skrev jeg "SE" forskel. Grisen gav udtryk 
 for at det kun var vigtigt hvordan det SÅ ud, og så skrev jeg ganske 
 korrekt at der i *det tilfælde* ikke er den store forskel på <br> og <p>.
 Men alle dine andre grunde er fuldstændig valide, og scootergrisen bør 
 gøre det rigtigt når han nu skriver om html.
 > Du kan da have din mening, og det er helt fint vi lever i et frit land,
 > men som sagt, den er ikke korrekt.
 Nu er meninger jo per definition hverken korrekte eller ukorrekte    Men i øvrigt er vi jo enige.
 Martin
            
             |  |  | 
                        Anonymous (01-03-2011) 
 
	
          | |  | Kommentar Fra : Anonymous
 | 
 Dato :  01-03-11 11:39
 | 
 |  | 
 
            Den 01-03-2011 11:24, Martin Larsen skrev:
 > Hej Rune
 >
 >  >> Sagen er den at kunderne ikke er glade for html-koder, de vil gerne
 >  >> kunne skrive ren tekst. Og det har jeg så gjort muligt for dem, og
 >  >> det virker fortrinligt.
 >
 >  > Det gør det ikke mere rigtigt.
 >
 > Jo. For du har vist helt misforstået mig!
 >
 > Først, jeg kender udmærket til den semantiske forskel mellem <br>, <p>,
 > <hX> osv.
 >
 > Jeg har gjort sådan at 2 x linjeskift i kundens *råtekst* oversættes til
 > <p> i html-koden af en pre-processor. Og vupti: så er det både visuelt,
 > syntaktisk og semantisk korrekt. Du overså vist der hvor jeg skrev at
 > jeg brugte linjeskift som en simpel opmarkering.
 >
 > Det er lidt ligesom med bbs-koder: [b] og [i] osv. Det er ikke html, men
 > det ender det med at blive.
 >
 > Længere er den ikke.
 >
 > Så vi er altså enige.
 He. OK.
 Du gør det samme som mig, så. Konverterer to linjeskift til en <p>?
 Em, jeg troede du snakkede om koden, ikke om inputtet. Derefter så jeg 
 bare, du skrev, du brugte <br />
 Det er ret smart at konvertere dobbelt linjeskift til <p>. Faktisk nok 
 den eneste rigtige i et CMS, hvor man må forvente at folk uden 
 HTML-kendskab bruger systemet.
 >> Og jo, man kan bestemt se forskel. Du har måske en idé om, at blinde
 >> ikke kan læse eller navigere hjemmesider - dette er ikke rigtigt. De kan
 >> læse siden, hvis den er korrekt opmærket, og såmænd få betydningen med
 >> også-
 >
 > Her er vi også enige. Men nu skrev jeg "SE" forskel. Grisen gav udtryk
 > for at det kun var vigtigt hvordan det SÅ ud, og så skrev jeg ganske
 > korrekt at der i *det tilfælde* ikke er den store forskel på <br> og <p>.
 Jaja, OKæh....
 > Men alle dine andre grunde er fuldstændig valide, og scootergrisen bør
 > gøre det rigtigt når han nu skriver om html.
 I rest my case...
 >> Du kan da have din mening, og det er helt fint vi lever i et frit land,
 >> men som sagt, den er ikke korrekt.
 >
 > Nu er meninger jo per definition hverken korrekte eller ukorrekte    >
 > Men i øvrigt er vi jo enige.
 Øhm OK :)
 MVH
 Rune Jensen
            
             |  |  | 
                         Martin Larsen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  01-03-11 11:51
 | 
 |  | Anonymous wrote:
 
 > Du gør det samme som mig, så. Konverterer to linjeskift til en <p>?
 
 Jep
 
 > Em, jeg troede du snakkede om koden, ikke om inputtet. Derefter så jeg
 > bare, du skrev, du brugte <br />
 
 Jeg skrev at jeg konverterer til <p> eller <br> afh. af konteksten. På
 en bestemt side opremses nogle medvirkende på en film. Her skal der stå
 et navn på hver linje, men det er samme tekstuelle afsnit så det rigtige
 er her at bruge <br> fremfor <p>.
 
 Strengt taget ville det være endnu mere korrekt at bruge <ul> og så
 style det til ikke at have nogen bullet foran. Jeg tænker her på evt.
 skærmlæseres fortolkning.
 
 > Det er ret smart at konvertere dobbelt linjeskift til <p>. Faktisk nok
 > den eneste rigtige i et CMS, hvor man må forvente at folk uden
 > HTML-kendskab bruger systemet.
 
 Ja, netop. På samme måde konverteres links automatisk til <a> osv. Og
 han kan lave simpel styling ved bruge af //kursiv// osv.
 
 
 |  |  | 
                         Anonymous (01-03-2011) 
 
	
          | |  | Kommentar Fra : Anonymous
 | 
 Dato :  01-03-11 12:03
 | 
 |  | 
 
            Den 01-03-2011 11:38, Anonymous skrev:
 >>> Du kan da have din mening, og det er helt fint vi lever i et frit land,
 >>> men som sagt, den er ikke korrekt.
 >>
 >> Nu er meninger jo per definition hverken korrekte eller ukorrekte    >>
 >> Men i øvrigt er vi jo enige.
 >
 > Øhm OK :)
 Jeg kan godt være lidt standhaftig, det er jeg klar over...
 Meninger kan altid "overrules" af W3C... det plejer at være en god 
 rettesnor.
 Her gik jeg så for hurtigt frem fordi jeg misforstod dig, det var ikke 
 hensigten.
 MVH
 Rune Jensen
            
             |  |  | 
                      Birger Sørensen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  01-03-11 12:31
 | 
 |  | 
 
            Martin Larsen skrev den 01-03-2011:
 8X
 > Nej, men de har samme visuelle funktion.
 8X
 Næppe.
 <br> er et linieskift - <p> er en paragraf. I øverigt er <p></p> ikke 
 lovligt i alle doctyper - tomme elementer er ikke tilladt (kan vist 
 endda fjernes af browserne, hvis de er i vejen).
 Indhold i HTML, formattering i CSS og funktionalitet i scripting er 
 målet.
 Du bruger HTML elementer til formattering. Det er hverken ifølge 
 standarder, eller samme retning som den øvrige udvikling på området.
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
                       Martin Larsen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  01-03-11 12:40
 | 
 |  | Birger Sørensen wrote:
 
 > Indhold i HTML, formattering i CSS og funktionalitet i scripting er målet.
 
 Ja naturligvis.
 
 > Du bruger HTML elementer til formattering.
 
 Nej. Og ja. Det kommer jo an på hvad du mener.
 
 De fleste html-elementer har jo en visuel repræsentation som man sammen
 med css kan udnytte til formatering. Eller bruge standardformateringen
 hvis man er tilfreds med den.
 
 Så hvis du sætter et afsnit ind i <p>tekst</p> får du en formatering,
 nemlig luft omkring, alene ved at indsætte en tag. Du kan så justere
 margin, padding og farver mm. efter hvad du har lyst til.
 
 På den måde kan man ikke lave en hjemmeside uden at bruge html til
 formatering, for du er simpelthen nødt til at overveje hvilket element
 du skal bruge for at få et givent slutresultat.
 
 Man skal bare ikke bruge html-tags på en forkert måde til at opnå
 formatering.
 
 Martin
 
 
 |  |  | 
                        Birger Sørensen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  01-03-11 13:06
 | 
 |  | 
 
            Martin Larsen frembragte:
 > Birger Sørensen wrote:
 >
 >> Indhold i HTML, formattering i CSS og funktionalitet i scripting er målet.
 >
 > Ja naturligvis.
 >
 >> Du bruger HTML elementer til formattering.
 >
 > Nej. Og ja. Det kommer jo an på hvad du mener.
 >
 > De fleste html-elementer har jo en visuel repræsentation som man sammen med 
 > css kan udnytte til formatering. Eller bruge standardformateringen hvis man 
 > er tilfreds med den.
 >
 > Så hvis du sætter et afsnit ind i <p>tekst</p> får du en formatering, nemlig 
 > luft omkring, alene ved at indsætte en tag. Du kan så justere margin, padding 
 > og farver mm. efter hvad du har lyst til.
 >
 > På den måde kan man ikke lave en hjemmeside uden at bruge html til 
 > formatering, for du er simpelthen nødt til at overveje hvilket element du 
 > skal bruge for at få et givent slutresultat.
 >
 > Man skal bare ikke bruge html-tags på en forkert måde til at opnå 
 > formatering.
 >
 > Martin
 Nej + ja = måske?
 Default værdier for formattering af HTML står i en default css.
 Elementerne som sådan har ingen formattering, men de har tilknyttet et 
 object, de bruger til formattering. Det er - også - her, default 
 værdier står, og ikke i HTML elementet/objectet.
 Så man bruger /aldrig/ HTML til formattering, ikke engang når man 
 skriver formatteringen i HTML-tagget. Værdierne lægges i CSS objectet 
 (der er vist nogle få undtagelser, som forhåbentlig bliver renset ud i 
 HTML5).
 At bruge default værdier for elementerne i sit layout er selvfølgelig 
 en farbar vej (hvis man kan leve med at siden har lige så mange 
 udseender, som der er browsere der viser den). Men det er forkert at 
 bruge HTML til formattering. Hvilket element der skal bruges, bør 
 dikteres af indholdet - ikke af hvordan du vil have indholdet til at se 
 ud på skærmen. Du kan jo altid sætte CSS, så det bliver repræsenteret 
 som du ønsker det...
 Et <br> er til linieskift.
 Et <p> indholder teksten til en paragraf.
 Hvordan et linieskift og en paragraf vises, bestemmes af CSS.
 Derfor er det forkert, at bruge HTML elementer til visuel (eller anden) 
 formattering.
 Det ser så ud til, at også jeg har misforstået. Du kan selvfølgelig 
 bruge den markup du ønsker til alt muligt andet. Man kan så overveje, 
 om det er fikst at bruge samme syntax som HTML, når slutresultatet skal 
 være HTML. Måske skulle du overveje noget andet... Bare min mening.    Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
                         Martin Larsen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  01-03-11 17:23
 | 
 |  | 
 
            Birger Sørensen wrote:
 > Så man bruger /aldrig/ HTML til formattering, ikke engang når man
 > skriver formatteringen i HTML-tagget. Værdierne lægges i CSS objectet
 > (der er vist nogle få undtagelser, som forhåbentlig bliver renset ud i
 > HTML5).
 Det er så et spørgsmål om ord, men jeg forstår godt hvad du mener og er 
 i øvrigt ganske enig.
 > Du kan
 > jo altid sætte CSS, så det bliver repræsenteret som du ønsker det...
 Ja, man kan endda lave et inline element om til et blokelement, hvis man 
 ønsker det, eller vise versa. Der er mange muligheder, og css er fedt!
 > Et <br> er til linieskift.
 > Et <p> indholder teksten til en paragraf.
 Korrekt. Det er også sådan jeg bruger det. Jeg har blot gjort det muligt 
 for kunde at diktere det med linjeskift i nogle råtekster som bliver 
 inkluderet. De fleste steder bliver dobbelt linjeskift lavet om til <p> 
 men et enkelt sted bliver det til <br> fordi det netop skal være 
 linjeskift og ikke afsnit.
 > Derfor er det forkert, at bruge HTML elementer til visuel (eller anden)
 > formattering.
 Helt enig, og derfor har jeg ikke brugt det i årevis.
 > Det ser så ud til, at også jeg har misforstået. Du kan selvfølgelig
 > bruge den markup du ønsker til alt muligt andet. Man kan så overveje, om
 > det er fikst at bruge samme syntax som HTML, når slutresultatet skal
 > være HTML. Måske skulle du overveje noget andet... Bare min mening.    Ved ikke helt hvad du mener her, men det er faktisk ganske smart at 
 kunden kan få tryllet noget råtekst om til velformateret (syntaktisk, 
 forstås) html efter nogle simple regler vi har aftalt. Som nævnt i et 
 andet svar minder det om bbs-koder, [b], [i] osv.
 Men jeg har faktisk i sinde at fortælle kunden om de mest elementære 
 tags, der er vel ikke mere end 5-6 stykker han skal kender, så værre er 
 det jo heller ikke.
 Men husk, kunden har altid ret i sidste ende! (Så kan man tænke noget 
 anden mens man smiler)
 Martin
            
             |  |  | 
                          Martin Larsen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Martin Larsen
 | 
 Dato :  01-03-11 20:35
 | 
 |  | 
 
            Martin Larsen wrote:
 > Der er mange muligheder, og css er fedt!
 Kommer lige i tanke om CSS Zen Garden hvor nøjagtig den samme html 
 opmarkering kan ses på hundredevis af vidt forskellige måder hvor kun 
 stylesheetet er forskelligt.
 Ganske interessant projekt.
http://www.csszengarden.com/ |  |  | 
                           Jørn Andersen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Jørn Andersen
 | 
 Dato :  01-03-11 21:19
 | 
 |  | 
 
            On Tue, 01 Mar 2011 20:34:39 +0100, Martin Larsen
 <martin+spamfree+larsen@bigfoot.com> wrote:
 >Kommer lige i tanke om CSS Zen Garden hvor nøjagtig den samme html 
 >opmarkering kan ses på hundredevis af vidt forskellige måder hvor kun 
 >stylesheetet er forskelligt.
 >
 >Ganske interessant projekt.
 >
 >http://www.csszengarden.com/ Absolut - dog med det forbehold, at man ikke bør bruge alle de
 teknikker der anvendes på CSS Zen Garden til praktisk brug.
 Sitet er fantastisk til at vise, hvilken magt man har med CSS. Men
 "grundreglen" er stadig, at CSS skal understøtte indholdet - ikke
 fordreje og forvrænge det    Mvh. Jørn
 -- 
 Jørn Andersen
 socialister.dk
 marxisme.dk
            
             |  |  | 
                            Birger Sørensen (01-03-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  01-03-11 22:21
 | 
 |  | 
 
            Jørn Andersen formulerede tirsdag:
 >> Ganske interessant projekt.
 >> 
 >> http://www.csszengarden.com/ >
 > Absolut - dog med det forbehold, at man ikke bør bruge alle de
 > teknikker der anvendes på CSS Zen Garden til praktisk brug.
 Hvorfor dog ikke det?
 > Sitet er fantastisk til at vise, hvilken magt man har med CSS. Men
 > "grundreglen" er stadig, at CSS skal understøtte indholdet - ikke
 > fordreje og forvrænge det    Der er ikke tale om at fordreje eller forvrænge.
 Der er tale om at designe så man kan få tingene vist præcist som man 
 vil.
 Og sitet er - selvom man måske kan se det som legetøj - lige præcis et 
 eksempel på, at det kan man, hvis man bruger CSS rigtigt.
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
                             Jørn Andersen (07-03-2011) 
 
	
          | |  | Kommentar Fra : Jørn Andersen
 | 
 Dato :  07-03-11 01:47
 | 
 |  | 
 
            On Tue, 01 Mar 2011 22:20:33 +0100, Birger Sørensen
 <sdc@bbsorensen.com> wrote:
 >Jørn Andersen formulerede tirsdag:
 >>> Ganske interessant projekt.
 >>> 
 >>> http://www.csszengarden.com/ >>
 >> Absolut - dog med det forbehold, at man ikke bør bruge alle de
 >> teknikker der anvendes på CSS Zen Garden til praktisk brug.
 >
 >Hvorfor dog ikke det?
 Fordi nogle af dem leverer noget, der er et andet indhold end det,
 HTML-filen siger det skal være.
 Hvis du fx tager:
http://www.csszengarden.com/?cssfile=/199/199.css&page=0 - så er alle oversskrifter ændret ved at skifte teksten ud med
 billeder. Det er fsv. OK - hvis bare ikke billederne fortalte en helt
 anden historie end den tekst, den erstatter.
 >> Sitet er fantastisk til at vise, hvilken magt man har med CSS. Men
 >> "grundreglen" er stadig, at CSS skal understøtte indholdet - ikke
 >> fordreje og forvrænge det    >
 >Der er ikke tale om at fordreje eller forvrænge.
 Det mener jeg der er i ovennævnte tilfælde. Det kan godt være, de har
 ryddet ud i samlingen - tidligere mener jeg at have set mange flere,
 der også brugte tekst-erstatning i et omfang, så det skabte et helt
 andet indhold. Men lige nu kan jeg ikke på 5 min. finde nogen    >Der er tale om at designe så man kan få tingene vist præcist som man 
 >vil.
 >Og sitet er - selvom man måske kan se det som legetøj - lige præcis et 
 >eksempel på, at det kan man, hvis man bruger CSS rigtigt.
 Min lille kritik skal ikke forstås sådan, at jeg ikke synes CSS Zen
 Garden er et fantastisk sted. Det forhindrer mig bare ikke i at mene,
 at hvis form (i nogle af  eksempelerne) bliver vigtigere end indhold,
 så er man på galt spor.
 Mvh. Jørn
 -- 
 Jørn Andersen
 socialister.dk
 marxisme.dk
            
             |  |  | 
                   Anonymous (01-03-2011) 
 
	
          | |  | Kommentar Fra : Anonymous
 | 
 Dato :  01-03-11 10:00
 | 
 |  | Den 01-03-2011 05:17, scootergrisen skrev:
 
 > Jeg bruger overhovedet (næste) ikke <p></p> på min hjemmeside.
 > Giver det så en lidt længere pause i en skærmoplæser eller hvad ?
 
 Det forringer en blinds mulighed for at navigere hver gang man bruger
 tags forkert.
 
 > Er der nogen grund til jeg skulle begynde at bruge <p></p> i stedet for
 > <br/> ?
 
 Ja. Brug <p> hvor du har afsnit. <br /> er til hård retur/linjeskift,
 som != <p>.
 
 > Hvis jeg skal omgive noget så bruger jeg <div></div> og det giver så
 > også et linieskift eller det der svare til det ligesom <p></p>.
 
 Nej. <div> giver ingen ekstra betydning. Det gør <p> idét den fortæller,
 at det omsluttede er et afsnit.
 
 Det er forkert at bruge <div> hvor et andet tag er mere sigende, ligesom
 det er forkert at adskille linjer med <br /> hvis det ikke har betydning
 for indholdet.
 
 Hvis man visuelt skal bruge en afstand, bør bruges margin og padding i
 CSS ved styling på det element, som skal have afstanden, ikke <br />.
 
 <br /> kan bruges andre steder, hvor det er vigtigt for indholdet, der
 er hårde linjeskift. F.eks. ved en kodelisting, hvor adskillelse af
 linjerne i koden har betydning for indholdet. Dvs. f.eks. i en <code>.
 
 På samme måde er det med hårde mellemrum  . De må også kun bruges,
 hvor de har betydning for indholdet (digte eller kodelistinger er hvad
 jeg lige kan komme på).
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
                  Anonymous (01-03-2011) 
 
	
          | |  | Kommentar Fra : Anonymous
 | 
 Dato :  01-03-11 10:31
 | 
 |  | Den 01-03-2011 05:11, Jørn Andersen skrev:
 > On Sun, 27 Feb 2011 20:33:29 +0100, scootergrisen
 > <scootergrisen@NOSPANKYOUgmail.com>  wrote:
 >
 >> For at lave lidt plads i teksten og alt muligt andet.
 >> Det kan vel være det samme at bruge<br/>  som at bruge<p></p>  eller ?
 >
 > Betydningsmæssigt er det to vidt forskellige ting:<p>  markerer et
 > afsnit - uanset om det vises på en skærm, læses op for binde og
 > svagtseende eller hvilken medietype det i øvrigt behandles af.
 >
 > Det er rigtigt, at det på en skrivemaskine er stort set det samme, men
 > ikke i HTML.
 
 Det er jo netop det smarte ved HTML, at du kan rykke det fra ét medie
 til et andet, og det vil beholde sin betydning. Hvis ellers begge medier
 forstår HTML. F.eks. en skærmlæser.
 
 På papir, f.eks. en avis, skal man visuelt "gætte" sig til betydningen
 udfra typer, skrifstørrelse og placering. Man kan ikke umiddelbart
 flytte det visuelle over i et andet medie, uden det mister betydning.
 Særligt skærmlæsere vil have de problemer. Søgebotter og
 indekseringsprogrammer er et andet eksempel i forbindelse med web.
 
 Den første tekst i en artikel, som står øverst, og med store typer, vil
 en seende "oversætte" til en overskrift. Flyttes den samme tekst til
 andet medie, vil det bare være en tekst. Man kan ikke sige, om det er
 overksrift eller afsnit eller noget helt tredje. Det kan skærmlæseren
 eller søgebotten heller ikke uden korrekt formattering.
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
  Mads Lie Jensen (27-02-2011) 
 
	
          | |  | Kommentar Fra : Mads Lie Jensen
 | 
 Dato :  27-02-11 11:19
 | 
 |  |  |  |  | 
 |  |