11. maj 2005 - 20:17
Der er
22 kommentarer og 1 løsning
Fejl i eregi_replace
Nogle der kan finde fejlene i mit script? Fejl: Warning: eregi_replace(): REG_EPAREN in /mnt/raid/www/www/babegalleri/test/function_smilies.php on line 4 Warning: eregi_replace(): REG_EMPTY in /mnt/raid/www/www/babegalleri/test/function_smilies.php on line 7 Warning: eregi_replace(): REG_EPAREN in /mnt/raid/www/www/babegalleri/test/function_smilies.php on line 13 <? $description = eregi_replace(':D','<img src="images/smilies/1.gif" alt=":D">',$description); $description = eregi_replace('8D','<img src="images/smilies/2.gif" alt="8D">',$description); $description = eregi_replace(':\'(','<img src="images/smilies/3.gif" alt=":\'(">',$description); $description = eregi_replace(':ups:','<img src="images/smilies/4.gif" alt=":ups:">',$description); $description = eregi_replace(':P','<img src="images/smilies/5.gif" alt=":P">',$description); $description = eregi_replace(':|','<img src="images/smilies/6.gif" alt=":|">',$description); $description = eregi_replace(':)','<img src="images/smilies7/.gif" alt=":)">',$description); $description = eregi_replace(':woot:','<img src="images/smilies/8.gif" alt=":woot:">',$description); $description = eregi_replace(':evil:','<img src="images/smilies/9.gif" alt=":evil:">',$description); $description = eregi_replace(':arrow:','<img src="images/smilies/10.gif" alt=":arrow:">',$description); $description = eregi_replace(':!:','<img src="images/smilies/11.gif" alt=":!:">',$description); $description = eregi_replace(':(','<img src="images/smilies/12.gif" alt=":(">',$description); $description = eregi_replace(':idea:','<img src="images/smilies/13.gif" alt=":idea:">',$description); $description = eregi_replace(':?:','<img src="images/smilies/14.gif" alt=":?:">',$description); $description = eregi_replace(':lol:','<img src="images/smilies/15.gif" alt=":lol:">',$description); $description = eregi_replace(':O','<img src="images/smilies/16.gif" alt=":O">',$description); $description = eregi_replace(':X','<img src="images/smilies/17.gif" alt=":X">',$description); $description = eregi_replace(':S','<img src="images/smilies/18.gif" alt=":S">',$description); ?>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Sæt en \ foran parenteserner i udtrykket,
Nu ser min kode sådan her ud: <? $description = eregi_replace(':D','<img src="images/smilies/1.gif" alt="">',$description); $description = eregi_replace('8D','<img src="images/smilies/2.gif" alt="">',$description); $description = eregi_replace(':\'\(','<img src="images/smilies/3.gif" alt="">',$description); $description = eregi_replace(':ups:','<img src="images/smilies/4.gif" alt="">',$description); $description = eregi_replace(':P','<img src="images/smilies/5.gif" alt="">',$description); $description = eregi_replace(':\|','<img src="images/smilies/6.gif" alt="">',$description); $description = eregi_replace(':\)','<img src="images/smilies/7.gif" alt="">',$description); $description = eregi_replace(':woot:','<img src="images/smilies/8.gif" alt="">',$description); $description = eregi_replace(':evil:','<img src="images/smilies/9.gif" alt="">',$description); $description = eregi_replace(':arrow:','<img src="images/smilies/10.gif" alt="">',$description); $description = eregi_replace(':!:','<img src="images/smilies/11.gif" alt="">',$description); $description = eregi_replace(':\(','<img src="images/smilies/12.gif" alt="">',$description); $description = eregi_replace(':idea:','<img src="images/smilies/13.gif" alt="">',$description); $description = eregi_replace(':?:','<img src="images/smilies/14.gif" alt="">',$description); $description = eregi_replace(':lol:','<img src="images/smilies/15.gif" alt="">',$description); $description = eregi_replace(':O','<img src="images/smilies/16.gif" alt="">',$description); $description = eregi_replace(':X','<img src="images/smilies/17.gif" alt="">',$description); $description = eregi_replace(':S','<img src="images/smilies/18.gif" alt="">',$description); ?> Men den giver i html koden: <img src="images/smilies/1.gif" alt=""> 8) <img src="images/smilies/3.gif" alt=""> <img src="images/smilies/4.gif" alt=""> <img src="images/smilies/5.gif" alt=""> <img src="images/smilies/6.gif" alt=""> <img src="images/smilies/7.gif" alt=""> <img src="images/smilies/8.gif" alt=""> <img src="images/smilies/9.gif" alt=""> <img src="images/smilies/10.gif" alt=""> <img src="images/smilies/11.gif" alt=""> <img src="images/smilies/12.gif" alt=""> <img src="images/smilies/13.gif" alt=""> <img src="images/smilies/14.gif" alt="">?<img src="images/smilies/14.gif" alt=""> <img src="images/smilies/14.gif" alt="">lol<img src="images/smilies/14.gif" alt=""> <img src="images/smilies/14.gif" alt="">O <img src="images/smilies/14.gif" alt="">X <img src="images/smilies/14.gif" alt="">S Hvis jeg i databasen har: :D 8) :'( :ups: :P :| :) :woot: :evil: :arrow: :!: :( :idea: :?: :lol: :O :X :S
Ja, også en \ foran spørgsmålstegn. Det skal foran alle magiske tegn De steder hvor du ikke har bogstaver, og ikke skal udnytte "i"-et i eregi_... kan du med fordel bruge str_replace. Det er hurtigere. Skal det slet ikke være case-insensitivt kan du gøre noget, der endda er endnu hurtigere... ;)
Ville du prøve at ændre det, så det blev hurtigere? Koden, med flere ændreingere: <? $description = eregi_replace(":D",'<img src="images/smilies/1.gif" alt="">',$description); $description = eregi_replace("8)",'<img src="images/smilies/2.gif" alt="">',$description); $description = eregi_replace(":'\(",'<img src="images/smilies/3.gif" alt="">',$description); $description = eregi_replace(":ups:",'<img src="images/smilies/4.gif" alt="">',$description); $description = eregi_replace(":P",'<img src="images/smilies/5.gif" alt="">',$description); $description = eregi_replace(":\|",'<img src="images/smilies/6.gif" alt="">',$description); $description = eregi_replace(":\)",'<img src="images/smilies/7.gif" alt="">',$description); $description = eregi_replace(":woot:",'<img src="images/smilies/8.gif" alt="">',$description); $description = eregi_replace(":evil:",'<img src="images/smilies/9.gif" alt="">',$description); $description = eregi_replace(":arrow:",'<img src="images/smilies/10.gif" alt="">',$description); $description = eregi_replace(":!:",'<img src="images/smilies/11.gif" alt="">',$description); $description = eregi_replace(":\(",'<img src="images/smilies/12.gif" alt="">',$description); $description = eregi_replace(":idea:",'<img src="images/smilies/13.gif" alt="">',$description); $description = eregi_replace(":\?:",'<img src="images/smilies/14.gif" alt="">',$description); $description = eregi_replace(":lol:",'<img src="images/smilies/15.gif" alt="">',$description); $description = eregi_replace(":O",'<img src="images/smilies/16.gif" alt="">',$description); $description = eregi_replace(":X",'<img src="images/smilies/17.gif" alt="">',$description); $description = eregi_replace(":S",'<img src="images/smilies/18.gif" alt="">',$description); ?>
men så bliver :idea: ok men :IDEA: ikke - er det hvad du vil?
Bare :p :P :D :d :O :o :X :x :S :s virker
Hmm får ikke rigtig noget ud af det, da det er en kryterings sprog. Har ikke selt forstået str_replace, skal jeg så lave en linje for :O og en for :o og virker tal eller hvad er det du har snakket om?
"en kryterings sprog" - hvad betyder det? Og hvad har du lavet?
Hehe ved jeg entlig heller ikke :) Måske noget med at det du linker til at en krypterings maskine de laver. Vil du ikke prøve at bruge str_replace og eregi_replace hvor det skal være også poste det?
Joh, men det hele står jo i spørgsmålet, der refereres til. Hvad er problemet?
Har bare ikke forstået noget. Er str_replace hurtigere? Tager den både X og x under bare x som eregi_replace gør? Kan den tage tal? Og tegn?
Der er forskel på x og X, så du skal have begge med. Den er hurtigere end eregi_replace, men særlig hurtig når du har mange ting, der skal erstattes: du laver et array med alle erstatninger, og kalder str_replace (eller strtr) een gang. I PHP5 er der en stri_replace hvor der ikke er forskel på x og X.
Har desværre kun PHP Version 4.3.8-9 -
http://babegalleri.dk/php.php Men det med et array, jeg er rigtig dårlig til dem. Og hvordan de skal få 2 værdier (tegn og url til pic) er mig en stor gåde. Kan du fx lave et eksempel?
Str kan den også tage tal?
Jeg er slet ikke sikker på hvad det er du spørger om. Det hele står i det andet spørgsmål jeg linkede til, og du må have lavet noget i retning af dette (jeg har kun taget 3 med): $a[':arrow:']='<img src="images/smilies/10.gif" alt=":arrow:">'; $a[':!:'] ='<img src="images/smilies/11.gif" alt=":!:">'; $a[':('] ='<img src="images/smilies/12.gif" alt=":(">'; $description=strtr($description,$a); Men hvad er problemet?
30. juli 2005 - 20:55
#21
Smid lige svar.
30. juli 2005 - 20:56
#22
Jeg samler slet ikke på point, tak.
27. september 2005 - 22:25
#23
.
Vi tilbyder markedets bedste kurser inden for webudvikling