03. april 2005 - 09:47
Der er
18 kommentarer og 1 løsning
slet overflødige \n
Jeg har forsøgt at lave en et script som skal slette alle overflødige \n, men det er ikke altid at det virker?? Hvad kan der være galt? $empty = "( *\r?\n)"; $trans_arr = array( "/^$empty*(.*)$empty*$/" => "\\2", "/$empty{3,}/" => "\n\n" ); $str = preg_replace(array_keys($trans_arr), array_values($trans_arr), $str);
Annonceindlæg fra Computerworld
03. april 2005 - 10:26
#1
Hvornår er et \n overflødigt?
03. april 2005 - 12:11
#2
hvis en string starter eller slutter med \n eller mellem rum og der må højest være 2 \n lige efter hinanden
03. april 2005 - 12:39
#3
$str = preg_match("/\s{3,}/"," ", trim($str) );
03. april 2005 - 12:39
#4
hov, det skal være preg_replace og ikke preg_match
03. april 2005 - 12:47
#5
det virker ikke.. nu sletter den bare alle \n
03. april 2005 - 12:51
#6
her er hele min funktion: function txt2sql($str) { $str = stripslashes($str); $str = str_replace("\r", '', $str); $str = addslashes($str); $str = trim($str, " \xA0"); $empty = "( *\n)"; $trans_arr = array( "/^$empty*(.*)$empty*$/" => "\\2", "/$empty{3,}/" => "\n\n" ); $str = preg_replace(array_keys($trans_arr), array_values($trans_arr), $str); return $str; }
03. april 2005 - 13:53
#8
så sletter den ikke gentagne mellemrum efter hinanden midt i stringen
03. april 2005 - 14:12
#9
Så den skal fjerne: 1) mellemrum og \n før og efter selve teksten. 2) Der må max være \n*2 3) Der må max være et enkelt mellemrum Er der andre ting?
03. april 2005 - 14:25
#10
ja, jeg tror vist det er det hele :)
03. april 2005 - 14:30
#11
Prøv denne: $str=preg_replace(array("/\n{3,}/","/ {2,}/"),array("\n\n"," "), trim($str) );
03. april 2005 - 14:35
#12
den skal også slette mellemrum i starten og slutningen af alle linjer.. ikke kun i start og slut
03. april 2005 - 14:48
#13
$str = join("\n", array_map("trim",explode("\n", preg_replace(array("/\n{3,}/","/ {2,}/"),array("\n\n"," "), trim($str) ))));
03. april 2005 - 15:10
#15
jeg tror det virker nu efter jeg smed preg'en ned til sidst :)
03. april 2005 - 15:13
#16
mange tak for hjælpen :) det var lige hvad der skulle til... hehe
Slettet bruger
03. april 2005 - 15:26
#17
Hvis en streng starter eller slutter med \n eller mellemrum:
http://www.php.net/trim det er _præcis_ hvad den gør :o)
03. april 2005 - 15:36
#18
Øh .. ja og ? Hvis du ser på indlæggene, så har alle mine forslag trim().
Slettet bruger
03. april 2005 - 16:54
#19
øv. Jeg tror jeg skal til at læse alt før jeg begynder at skrive :o(
Vi tilbyder markedets bedste kurser inden for webudvikling