php problem

Tags:    programmering

hey alle
Jeg har et sted hvor man kan sende beskeder til hinanden, og i beskederne skrive med fed skrift osv. Problemet er bare at hvis man skriver et ord uden mellemrum der er x antal bogstaver langt, skal den lave et automatisk linjeskift.
Det virker også fint nok med følgende :
Fold kodeboks ind/udKode 


problemet er bare at den også tæller de koder med jeg bruger til fx at lave fed skrift med, så det hele kommer til at se underligt ud når der fx står <b<br />>tekst</b>

Måden jeg får den til at lave fed skrift på er at brugeren sender et , og jeg har en str_replace funktion der laver det om til <b>, men hvordan kan jeg lave det linjeskift uden det går ud over mine koder jeg skal bruge til fed skrift?

Mvh. Mathias




5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
En metode vil være at bruge nlbr, så går den selv ned på næste linje. Dog ikke hvis det første ord er

fergagfrerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr f.eks.



Lad være med at bruge str_replace til det der. Hvis du gør det, kan brugere også starte fed skrift, uden at afslutte det, og så har du et problem. Desuden har du det problem med < br > inde i din < b >.

I stedet, så brug regular expressions til at matche start- og slut-"tag" og så sæt < b >< /b > rundt om det der er i mellem start og slut. Hvis du gør det efter wordwrap, burde du få færre problemer.

------------------

Ellers så pyt rundt på rækkefølgen af dit wordwrap og din str_replace, så den laver wordwrap først. Så laver den ikke din "BBkode/hjemmelavede kode til fed skrift" om til fed skrift, hvis der er sat < br > ind i tagget. HTML skal helst holdes væk fra brugeren, synes jeg, og "BBkode" er nemmere for brugeren at forstå.



hov, kom til at gøre det hele med fed.. var ikke meningen, der skulle inden der kom fed på stå
Fold kodeboks ind/udKode 




hmm ellers overvejer jeg at få den til at tælle antal af
Fold kodeboks ind/udKode 
også hvis der er flere
Fold kodeboks ind/udKode 
end
Fold kodeboks ind/udKode 
så lave en løkke hvor den skriver
Fold kodeboks ind/udKode 
indtil antallet af
Fold kodeboks ind/udKode 
og
Fold kodeboks ind/udKode 
er lige store, problemet er bare at hvis jeg laver wordwrap inden jeg erstatter den med min hjemmelavede kode (hvor den søger efter
Fold kodeboks ind/udKode 
), så søger den ikke efter [b<br />] eller [bnlbr] som min wordwrap ellers vil sætte ind pr. 50. bogstav....

det der regular expressions har jeg altså lidt svært ved at gennemskue hvordan virker. Jeg har haft en lidt travl weekend, men jeg kan ikke helt forstå teknikken i det. Kan du evt. komme med et eksempel hvor den matcher start- og slut-"tagget"? Er det noget kode der er skrevet i javascript eller hvordan? pt. er jeg selv kun lige startet på javascript så det er ikke min stærke side

Mvh. Mathias



nååå det er det der ereg. Men jeg kan stadig ikke helt se hvordan jeg så skal få den til at matche start og slut tagget?
Mvh. Mathias



t