ZoRaC Skrevet 23. mai 2006 Del Skrevet 23. mai 2006 (endret) Bruker FCKeditor (en WYSIWYG-editor) på siden min, men er en liten svakhet i den. Om jeg skal ha en UL-liste som denne: Overskrift <ul> <li>Liste</li> <li>Liste</li> </ul> Blir HTMLen slik: Overskrift<br /> <ul><br /> <li>Liste</li><br /> <li>Liste</li><br /> </ul> Ønsker å fjerne ALLE <br /> fra oversriften og fra <ul> til </ul> Noen som har noen tips til "angrepstaktikk" på dette problemet? Edit: Må bare nevne at hele innholdet i tekstboksen er $text og jeg skal ikke fjerne alle <br /> fra $text, bare de i listen. Endret 23. mai 2006 av ZoRaC Lenke til kommentar
Christian. Skrevet 23. mai 2006 Del Skrevet 23. mai 2006 Du ønsker å gjøre slik at alle tingen i li skal stå på rekke? Liste 1 Liste 2 og ikke Liste 1 Liste 2 ? Hvis det kan du vel bare sette li { display: inline } eller ul i css Lenke til kommentar
Martin A. Skrevet 23. mai 2006 Del Skrevet 23. mai 2006 Når man bruker <ul> lager den en horisontal liste, <ol> lager vel vertikal liste. Det han ville var å fjerne <br /> fra <ul>-listen. Er på jobb nå, så har ikke tid til å fundere på noe lurt. Lenke til kommentar
Peter Skrevet 23. mai 2006 Del Skrevet 23. mai 2006 (endret) Det er helt feil ul står for unordered list, mens ol står for ordered list. ol brukes når du skal ha: Én To Tre Én To Tre Én To Tre mens ul brukes for slike lister: Én To Tre Jeg har dessverre ikke noen god løsning på problemet i første posten, annet enn å gjøre de som har laget WYSIWIG-editoren oppmerksomme på problemet, for det der er feil kode. (Kan aldri i verden tenke meg at den er i nærheten av å validere) Endret 23. mai 2006 av Nazgul Lenke til kommentar
ZoRaC Skrevet 23. mai 2006 Forfatter Del Skrevet 23. mai 2006 Nazgul: Er en lang liste med små bugs i editoren, og utviklerene har begrenset tid til å rette alle. Trenger en workaround i mellomtiden. Ser for meg noe slikt (pseudokode): $startline = linjenummer for <ul> fjern siste <br /> fra $startline-1 $endline = linjenummer for </ul> fjern siste <br /> på alle linjer mellom $startline og $endline Noen som er "drevne" på bruk at disse funksjonen? Har ikke så mye kjennskap til hvilke jeg må bruke... Lenke til kommentar
hockey500 Skrevet 23. mai 2006 Del Skrevet 23. mai 2006 (endret) *Slettet, tåpelig ide* Endret 23. mai 2006 av hockey500 Lenke til kommentar
spiffers Skrevet 23. mai 2006 Del Skrevet 23. mai 2006 (endret) To linjer kode som fikser det... <? # Variabelen som inneholder sjit som skal renskes opp er $streng $streng = explode("<br>", $streng); $streng = implode("", $streng); ?> Forresten, siste utgave av FCKeditor legger ikke inn <br>... Endret 23. mai 2006 av spiffers Lenke til kommentar
ZoRaC Skrevet 24. mai 2006 Forfatter Del Skrevet 24. mai 2006 To linjer kode som fikser det... <? # Variabelen som inneholder sjit som skal renskes opp er $streng $streng = explode("<br>", $streng); $streng = implode("", $streng); ?> Forresten, siste utgave av FCKeditor legger ikke inn <br>... 6165967[/snapback] Problemet da er at den fjerner ALLE <br> i $text, de som er over/under <ul>-listen også. Har satt FCKeditor til å sette inn <br> ved linjeskift i stedet for å bruke <p> for da blir linjeavstanden "dobbel" når man trykker <enter>... Lenke til kommentar
spiffers Skrevet 24. mai 2006 Del Skrevet 24. mai 2006 $streng = explode("</li><br />", $streng); $streng = implode("</li>", $streng); Dette gjør susen da Lenke til kommentar
stiber Skrevet 24. mai 2006 Del Skrevet 24. mai 2006 Denne sletter alle <br /> mellom <ul> og </ul> og etter overskrift, men tar ikke høyde for "nestede" lister: $text = preg_replace("/<br \/>(?=\s*<ul>)|<br \/>(?=(?:(?!<ul>).)*<\/ul>)/s","",$text); Denne sletter alle <br /> etter </li>,<ul> og overskrift, men ikke alle mellom <ul> og </ul>. Det kan jo være ønskelig med linjeskift mellom <li> og </li>: $text = preg_replace("/<br \/>(?=\s*<ul>)|(?<=<ul>)<br \/>|(?<=<\/li>)<br \/>/s","",$text); Lenke til kommentar
ZoRaC Skrevet 24. mai 2006 Forfatter Del Skrevet 24. mai 2006 Takk stiber! Samme med "ul { display: list-item }" ble det akkurat slik jeg ønsket! Drev å prøvde meg litt frem jeg også, og fikk til en fungerende kode for 15 min siden, men dine var jo mye enklere enn min: $remove_str = "<br />"; $str_len = strlen($remove_str); $start = strpos($text, '<ul>') - $str_len - 1; $end = strpos($text, '</ul>'); $remove = substr($text, $start, $end - $start); $removed = str_replace($remove_str, '', $remove); $text = str_replace($remove, $removed, $text); Btw, prøvde begge kodene dine, men ser ikke noe forskjell? Lenke til kommentar
ZoRaC Skrevet 24. mai 2006 Forfatter Del Skrevet 24. mai 2006 Hmm... Ser ut til at buggen ligger i mitt script for visning etterpå for det kjører visst en nl2br($text). Fjernet den og alt ble mye bedre! Lenke til kommentar
endrebjo Skrevet 25. mai 2006 Del Skrevet 25. mai 2006 Har satt FCKeditor til å sette inn <br> ved linjeskift i stedet for å bruke <p> for da blir linjeavstanden "dobbel" når man trykker <enter>... 6167698[/snapback] Linjeavstanden til en <p> er jo fryktelig lett å endre ved hjelp av CSS, så jeg kan ikke skjønne hvorfor du erstatter <p> (som er helt riktig) med <br> (som er helt feil). Lenke til kommentar
ZoRaC Skrevet 28. mai 2006 Forfatter Del Skrevet 28. mai 2006 Vet ikke om man kan endre hvordan <p> skal oppføre seg i redigerings-feltet til FCKeditor? De som skal bruke dette kan null HTML og det er derfor viktig at artikkelen blir seende ut som den gjør under redigering, og brukerne forventer at man flytter seg en linje i gangen når man trykker <enter>, som i Word... Men, om man kan få den til å flytte seg "normalt" i FCKeditor er det seff ingen grunn til å ikke bruke <p>... Lenke til kommentar
Peter Skrevet 28. mai 2006 Del Skrevet 28. mai 2006 (endret) <br> er linjeskift, <p> er paragraf. De har forskjellig funksjonalitet. <p> er to linjeskift fordi det er slik du deler inn paragrafer, dvs. én blank linje imellom paragrafene, mens <br/> kun er linjeskift for å kunne bryte opp en tekst. Av den grunn har du heller ikke lov til å putte <br /> utenfor et blokkelement. Eks.: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_br Endret 28. mai 2006 av Nazgul Lenke til kommentar
ZoRaC Skrevet 4. juni 2006 Forfatter Del Skrevet 4. juni 2006 endrebjorsvik: Hvordan endrer man til "normal" linjeavstand med CSS? Lenke til kommentar
endrebjo Skrevet 4. juni 2006 Del Skrevet 4. juni 2006 og brukerne forventer at man flytter seg en linje i gangen når man trykker <enter>, som i Word... 6194020[/snapback] Når man trykker <enter> i Word, skifter man faktisk avsnitt. Hvis man bare skal skifte linje, trykker man <shift>+<enter>.Det er bare det at Word ikke har lagt inn ekstra avstand mellom avsnittene som standard for at det skal være enklere å bruke for nybegynnerene. Når man skriver en tekst, skal man faktisk ikke trykke <enter> andre ganger enn når man skifter avsnitt (selv om man på barneskolen lærer å begynne ny setning på ny linje ). Hvis du går inn i Word og skriver litt forskjellig der du veksler mellom å bruke <enter> og <shift>+<enter>, og deretter går på Format -> Avsnitt og setter avstand etter, så vil du se forskjellen mellom linjeskift og avsnittsskift. endrebjorsvik:Hvordan endrer man til "normal" linjeavstand med CSS? 6239312[/snapback] p { line-height: 1.5em; } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå