07. februar 2008 - 12:04
Der er
15 kommentarer og 1 løsning
Problemer med preg
Hej Jeg har et stort problem med preg_replace, Problemet opstår når jeg søger efter både è og ; på samme tid. Hver for sig virker det fint. <? $var1 = "Dette er ; en è test..."; echo $var1; echo "<BR>"; $var2 = preg_replace("/;/","5", $var1); $var2 = preg_replace("/è/","8", $var1); echo $var2; ?> Resultat: Dette er ; en è test... Dette er ; en 8 test... men hvis jeg sletter "$var2 = preg_replace("/è/","8", $var1);", så finder den fint ; Håber i kan hjælpe. pft
Annonceindlæg fra Infor
07. februar 2008 - 12:11
#1
Se din kode her: $var2 = preg_replace("/;/","5", $var1); $var2 = preg_replace("/è/","8", $var1); Du tager $var1 og behandler 2 gange. Men det er jo kun dit sidste kald som rent faktisk gemmes i $var2. Men du burde kunne bruge: $var2 = preg_replace("/;/","5", $var1); $var3 = preg_replace("/è/","8", $var2);
07. februar 2008 - 14:00
#2
Arh. min fejl, men har stadig problemet. Jeg prøver lige igen. :) Jeg er kommet frem til at det har noget at gøre med min mysql db. Hvis jeg fx her følgende kode. $var1 = mysql_result($result,"0","name"); $var2 = "Lékué"; echo $var1; // Lékué echo $var2; // Lékué if($var1 == $var2) echo "de er ens"; else echo "de er ikke ens"; Så siger den at de ikke er ens.
07. februar 2008 - 20:24
#3
Er begge strenge UTF8 eller ISO8859-1 ?
07. februar 2008 - 22:05
#4
Min sql tabel er utf8_danish_ci, men jeg er lidt i tvivl om php/apache. Hvis jeg ser i phpinfo under Environment så står der LANG=en_DK.UTF-8, ved ikke om det kan bruges. Findes der en måde hvor jeg kan se om det er det ene eller det andet?
07. februar 2008 - 22:14
#5
Hvis udskriftenerne ser ens ud i de to tilfælde burde der vist ikke være problemer med encoding. Men hvad mon mht. blanktegn i start eller slut? Måske er de to strenge faktisk ikke ens. Prøv med: echo "[$var1]<br>"; // Lékué echo "[$var2]"; // Lékué og se om det står helt ens i de to tilfælde.
07. februar 2008 - 22:27
#6
De er helt ens [Lékué] [Lékué] Men hvis jeg smider dem gennem en md5(), så giver de to forskellige resultater. md5($var1); dba84787b6dc513c8b4fe10afd6e26b1 md5($var2); 88ff822453c68d418255707fb1ae6708
07. februar 2008 - 22:47
#7
Hvad hvis du laver en Vis Kilde - er det så også det samme der står der i selve HTML koden?
08. februar 2008 - 10:06
#8
Nu er vi inde på noget :) var1 = [Lékué]<BR> var2 = [Lékué] Men hvordan kan det være at resultatet fra sqlen ser anderledes ud. Jeg har brugt phpmyadmin til at indsætte Lékué i tabellen.
08. februar 2008 - 10:11
#9
Så er det vel PhpMyAdmin som automatisk encoder teksten ved indsættelse. Hvad sker der hvis du prøver at indsætte den samme tekst via et lille PHP script?
08. februar 2008 - 10:16
#10
Jeg tror ikke phpmyadmin encoder teksten som indsættes i db.
18. februar 2008 - 18:23
#11
Er du kommet vidre med denne her?
18. februar 2008 - 21:40
#12
Jeg er kommet lidt videre med det. Det hjalp da jeg fik set kilden via browseren. Problemet opstår pga. at jeg har en htmleditor som omskriver é til é Jeg har lavet en midlertidig løsning som ændre det tilbage igen når man gemmer i editoren. Du må meget gerne smide et svar. Tak for hjælpen..
19. februar 2008 - 06:59
#13
Svar :^) Mon ikke der er lignende problemer med andre accent-tegn?
25. februar 2008 - 17:40
#14
Så mangler du bare at acceptere mit svar :^)
25. februar 2008 - 21:52
#15
:-)
25. februar 2008 - 21:54
#16
Takker :^)
Vi tilbyder markedets bedste kurser inden for webudvikling