27. april 2005 - 19:53Der er
29 kommentarer og 1 løsning
HTML tags med php
Jeg sidder og roder med online redigering af artikler. Jeg blokere html-tags. Men jeg vil dog gerne have, så man bl.a. kan skrive med fed, kursiv og understreget. Jeg har set andre sider, hvor man skal skrive fx fed tekst, som bliver afviklet som en fed tekst.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
preg_replace("/\\[(\\/?[biu])]/i", "<\\1>", $string); forstår jeg ikke meget af. Hvad betyder ("/\\[(\\/?[biu])]/i", "<\\1>"?
Synes godt om
Slettet bruger
28. april 2005 - 10:45#9
første funktionsargument, /\\[(\\/?[biu])]/i betyder: find tegnet [ efterfulgt af 0 eller 1 skråstreger efterfulgt af enten b, i eller u, efterfulgt af tenget ]. Gem den eventueller skråstreg og bogstavet i hukkommelsesplads nr. 1. Der tages ikke højde for store/små bogstaver.
andet funktionsargument, <\\1> betyder: Erstat det du fandt før med tegnet < efterfulgt af det er er i hukommelsesplads nr. 1, efterfulgt af tegnet >.
Det bliver brugt til at søge (og erstatte) i tekst man ikke helt ved hvordan ser ud, men kan opstille nogle regler for. Det er faktisk meget simplet når man har lært syntaxen...
:)
Synes godt om
Slettet bruger
28. april 2005 - 16:08#10
Gartzen: php's indbyggede funktion er hurtigere end at bruge reg exp. Derfor.!
Man kan selvfølgelig rette lidt på din version og lade være med at bruge $temp1 og $temp2 til at gemme array'erne i, men hardcode dem direkte ind i funktionen.. Det vil give yderligere performace, og så er de to metoder lige hurtige. (Varierer selvfølgelig efter system og tilfældighed..!) men man vil hurtigt miste overblikket over funktionen om ca 5 yderligere HTML-tags.. Hvorimod regexp-versionen er noget nemmere at udvide..
Men jeg skal da ikke bestemme noget, jeg skriver bare hvad jeg finder bedst/mest logisk til formålet.. :)
(På min 1GHz PII Win XP er resultatet: Normal done in 10.898219823837 seconds RegExp done in 5.7476480007172 seconds)
hmz. Ja det virker, supr. Kunne vel ikke overtale dig til at koge det sammen med de andre funktioner? Altså [b] = <b>, [u] = <u>, [i] = <i>, [p] = <p>,
Overstående kode skal bare indsættes 1 gang på din side. (Evt. inkluderes med require()?) så kan du nemlig bare gøre sådan her: $nytekst = convertCode($gammeltekst);
Synes godt om
Slettet bruger
28. april 2005 - 20:55#18
Måske du skulle lave en div for hvert symbol, og så lave det med css i stedet?
Synes godt om
Slettet bruger
28. april 2005 - 20:56#19
Btw mente jeg en <span>, jeg tror også at du vil bruge en <span> i stedet for at bruge en <div>
Synes godt om
Slettet bruger
28. april 2005 - 20:59#20
wicez -> Ikke når der nu kan være <p>-elementer i.... Så skal det jo være div, da span er inline og div er block..
Synes godt om
Slettet bruger
28. april 2005 - 21:01#21
Jep. Jeg ved ikke hvad jeg tænkte på, det en centreret tekst jo ligeså godt kan være <div> :o)
Men der er et lille problem: Hvis man skriver i en bagvendt rækkefølge går det galt. Hvis fx man skriver [image="http://volieren.dk/top.jpg" pictext="hej" align="left"] i stedet for [image="http://volieren.dk/top.jpg" align="left" pictext="hej"] går det galt. Så udskrives [image="http://volieren.dk/top.jpg" pictext="hej" align="left"], koden bliver altså ikke afviklet. Kan det løses?
Nu er det ligegyldigt hvilken rækkefølge du skriver image, pictext og align i. :) Den var lidt svær at knække, da jeg ikke er særlig god til RegExp.. Men det virker da som det skal ;)
Hvis jeg eksempelvis skriver [image="sti"] udskrives [image="sti"]. Altså hvis man ikke udfylder alle punkterne bliver det ikke afviklet. Vil meget gerne have så man ikke nødvendigvis skal udfylde alle felter (image="" skal selvfølgelig udfyldes).
Jeg synes sq du er skide god til det. Jeg er sat af med RegExp. Synes simplethen det ligner en gang volapyk:)
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.