29. oktober 2006 - 10:40
Der er
10 kommentarer og 2 løsninger
str_replace \n
når jeg laver en str_replace kommer der et ? frem før hver \n hvorfor gør der det? eks. input string: ----------- 'musik sammen." Det samme gælde' kode: ---------- str_replace("\n", '\n', addslashes($value)) output str: ------------ 'musik sammen.\"?\n?\nDet samme gælde'
Annonceindlæg fra Cepheo
29. oktober 2006 - 11:00
#1
Det er muligvis det \r der som regel følger et \n der driller. Prøv med: str_replace("\r\n", '\r\n', addslashes($value))
29. oktober 2006 - 11:17
#2
har allerede fra start slettet \r :)
29. oktober 2006 - 12:14
#3
prøv: str_replace("\n", "<br>", $dintekst);
29. oktober 2006 - 13:04
#4
jeg skal ikke bruge <br>
29. oktober 2006 - 16:47
#5
Hmm, hvilken version kører du og gør du noget ved $value før str_replace. Hvis Ja, hvad og hvordan. Jeg har lige prøvet følgene på min IIS/PHP_5.1.4: ------------- $value = 'musik sammen." Det samme gælde'; $value = str_replace("\r", "", $value); $value = str_replace("\n", '\n', addslashes($value)); echo $value; Hvilket giver: 'musik sammen.\"\n\nDet samme gælde' Uden '$value = str_replace("\r", "", $value);' får jeg: 'musik sammen.\" \n \nDet samme gælde' Så er du sikker på at den \r er væk ?
29. oktober 2006 - 17:16
#6
$get_row = mysql_query("SELECT * FROM $DB.".$table_arr['Name']); if(mysql_num_rows($get_row)) { $tmp2_arr = array(); $str .= "\nINSERT `".$table_arr['Name']."` (".implode(',', $field_arr).") VALUES\n"; while($row_arr = mysql_fetch_row($get_row)) { $tmp_arr = array(); foreach($row_arr as $value) { if(is_numeric($value)) $tmp_arr[] = $value; else $tmp_arr[] = "'".str_replace("\n", '\n', addslashes($value))."'"; } $tmp2_arr[] = "(".implode(',', $tmp_arr).")"; } $str .= implode(",\n", $tmp2_arr).";\n"; }
29. oktober 2006 - 17:19
#7
fuck.. sorry :p jeg sidder og tåger troede lige jeg havde kørt den igennem den her først $str = str_replace("\r", '', $str); nielle og apo > lav et svar
29. oktober 2006 - 17:22
#8
Svar :^)
29. oktober 2006 - 17:32
#9
men en anden ting.. hvis et input bliver sendt fra en mac er det vel kun \r der bruges som newline?
29. oktober 2006 - 17:33
#10
så man burde vel gøre sådan her for at være helt sikker på at man får sine newlines med? $str = str_replace("\r\n", '\n', $str); $str = str_replace("\r", '\n', $str);
29. oktober 2006 - 19:14
#11
... endnu en ting ... hvis indput sendet fra en Linux/Unix box, sår er det muligvis kun \n der sendes: Max (OX X) - \r *nux - \n Windows - \r\n Altså: $str = str_replace("\r\n", '\n', $str); $str = str_replace("\r", '\n', $str); $str = str_replace("\n", '\n', $str);
30. oktober 2006 - 10:11
#12
Ye
Vi tilbyder markedets bedste kurser inden for webudvikling