16. januar 2005 - 20:08Der er
12 kommentarer og 1 løsning
reg exp
Jeg har en funktion som skal lave smilies i noget tekst. Men min reg exp tager ikke mellemrum eller linjeskift med som er bagved min smilie - kun det som er foran?!
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.
det ser ud til at virke nu... hvis altså jeg i stedet for at lave en span laver et img tag :) hvordan kan jeg smide ind hvis der forekommer et mellemrum? :)
hvordan er din smiley gemt? Er det f.eks. en :) i en streng (ex: $str = "Jeg er glad i dag :)";), så er det temmelig nemt at bruge en str_replace i stedet for at lave en reg. exp., og den har ingen problemer med mellemrum.
"Hvis du ikke skal bruge smarte erstatningsregler (som regulære udtryk), bør du altid bruge denne funktion i stedet for ereg_replace() eller preg_replace()."
Hvis jeg nøjes med at bruge str_replace() bliver mine smilies ikke lavet rigtigt :(
Der skal f.eks. være en efter min span, da et almindeligt mellemrum ikke vil komme til syne. Jeg kan jo ikke lave en str_replace(':) ', '<span></span> ', $str) da det jo ikke er sikkert der er et mellemrum efter
hmmmm, det kan godt være jeg ikke er helt med på hvad det præcis er du ønsker, mht. det mellemrum. Hvad sker der hvis du laver den her? str_replace(':)', '<span></span> ', $str) - altså uden mellemrum efter smiley!
Er problemet så, at der måske er et mellemrum for meget?
ok! Så er der den dovne løsning: Smid en if uden om "str_replace med mellemrum", else "str_replace uden mellemrum". (ved ikke om det vil virke ordentligt)...
Ellers skal du nok ud i noget reg.exp. (som du er inde på ;) )
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.