Avatar billede jacob_m Nybegynder
03. november 2004 - 17:47 Der er 17 kommentarer og
1 løsning

fjern lineskift i variabel..

Aloha..

Hvordan fjerne man linje skift i udtræk fra MySQL..

hvis je feks. har variablen :

$var = "Hej, Jeg er dum
fordi jeg har
for mange
linie skift
";

og vil have den til at se sådan her ud:

$var = "Hej, Jeg er dum fordi jeg har for mange linie skift";

er der en funktion lidt ala. nl2br.. hvor den så bare siger newline to notthing :-P..
Avatar billede thorus Nybegynder
03. november 2004 - 17:51 #1
hvis du IKKE sætter nl2br ind laver den så stadig linie stift?
Avatar billede bojo Nybegynder
03. november 2004 - 17:52 #2
brug str_replace
http://dk2.php.net/manual/da/function.str-replace.php

$var = str_replace( "\n", "", $var );

jeg er ikke sikker på \n men metoden er go nok
Avatar billede shjorth Nybegynder
03. november 2004 - 17:55 #3
$var = ereg_replace("\n", "", $var);
Jeg ved ik om det funger, men prøv :P
Avatar billede shjorth Nybegynder
03. november 2004 - 17:55 #4
nå sorry :o)
Avatar billede jacob_m Nybegynder
03. november 2004 - 17:59 #5
Der er jo ik nogle \n sådan rent "fysisk"... Det er fordi der er nogle breaks fra databasen :-(..
Avatar billede bojo Nybegynder
03. november 2004 - 18:02 #6
hvis ikke der er \n ( eller \r ) så er der ikke linieskift. Jeg regner med at det ikke er <br> der er i
Avatar billede jaw Nybegynder
03. november 2004 - 18:45 #7
Kig i kildekoden fra Explorer. Databasen bør ikke af sig selv returnere flere linieskift, end der er...

Derfor bør, som de 2 andre siger, flg. virke:

$str = "Den tekst med linieskift.";

$str = str_replace("\n\r", "", $str);
$str = str_replace("\n", "", $str);
$str = str_replace("<br>", "", $str);
$str = str_replace("<br />", "", $str);

Kan gøres simplere, men forståelsen så er det vist de 4 muligheder der er for mellemrum, jeg lige kan komme på :)
Avatar billede jacob_m Nybegynder
03. november 2004 - 18:51 #8
Det er fordi jeg bruger en Richtexteditor, som smider data ind i en Database.. og problemet er nemlig, at når den så generere HTML, smider den linieskift ind uden noget \n eller lign.... Det er egentlig ik noget problem når jeg skal vise HTML´en direkte..

Men når jeg skal redigere i den igen, SKAL den være på én linie...
Avatar billede jacob_m Nybegynder
03. november 2004 - 18:56 #9
<!--

var oFCKeditor ;
oFCKeditor = new FCKeditor('EditorCms') ;
oFCKeditor.BasePath = 'http://greyz.dk/editor/' ;   
oFCKeditor.ToolbarSet = 'Cms2' ;
oFCKeditor.Value = '<TABLE class=\"\" cellSpacing=1 cellPadding=1 width=\"100%\" border=0>
<TBODY>
<TR>
<TD colSpan=2><STRONG>Crew</STRONG></TD></TR>
<TR>
<TD>Yaer... Så skulle det gerne virke... Yo... Et lile eksempel på hvordan man kan bruge rammer, uden det hele fucker op :-D... Man skal bare huske at skjule dem igen...</TD>
<TD><IMG style=\"WIDTH: 229px; HEIGHT: 230px\" height=311 alt=\"\" src=\"/prestige/billeder/site/djjulian.jpg\" width=300 border=0></TD></TR>
<TR>
<TD colSpan=2>
<P><STRONG>Crewet:</STRONG></P>
<UL>
<LI>Julian (DJ)
<LI>Hvem er her..
<LI>Det er ik mig, jeg står her</LI></UL></TD></TR></TBODY></TABLE>' ;
oFCKeditor.Create() ;
//-->


SKAL se sådan her ud:

<!--

var oFCKeditor ;
oFCKeditor = new FCKeditor('EditorCms') ;
oFCKeditor.BasePath = 'http://greyz.dk/editor/' ;        // '/FCKeditor/' is the default value so this line could be deleted.
oFCKeditor.ToolbarSet = 'Cms2' ;
oFCKeditor.Value = '<TABLE class=\"\" cellSpacing=1 cellPadding=1 width=\"100%\" border=0><TBODY><TR><TD colSpan=2><STRONG>Crew</STRONG></TD></TR><TR><TD>Yaer... Så skulle det gerne virke... Yo... Et lile eksempel på hvordan man kan bruge rammer, uden det hele fucker op :-D... Man skal bare huske at skjule dem igen...</TD><TD><IMG style=\"WIDTH: 229px; HEIGHT: 230px\" height=311 alt=\"\" src=\"/prestige/billeder/site/djjulian.jpg\" width=300 border=0></TD></TR><TR>
<TD colSpan=2><P><STRONG>Crewet:</STRONG></P><UL><LI>Julian (DJ)<LI>Hvem er her..<LI>Det er ik mig, jeg står her</LI></UL></TD></TR></TBODY></TABLE>' ;
oFCKeditor.Create() ;
//-->
Avatar billede olebole Juniormester
03. november 2004 - 19:35 #10
<ole>

jaw >> det er ikke '\n\r' - men '\r\n'. En lille, men _meget_ vigtig detalje  ;o)

jacob_m >> Hvad er det din editor indsætter? Den kan kun lave linieskift med '\n', '\r\n', eller '<br>' (NB:de to første er 'usynlige')?

/mvh
</bole>
Avatar billede jaw Nybegynder
03. november 2004 - 19:39 #11
Olebole - Jeg var i tvivl, men tog chancen. Tak for rettelsen og beklager :)
Avatar billede jacob_m Nybegynder
03. november 2004 - 19:51 #12
der er INGENTING at se i databasen, det som jeg syntes er underligt... Når jeg kigger gennem phpMyAdmin, ser det præcis sådan her ud:

<TABLE class=\"\" cellSpacing=1 cellPadding=1 width=\"100%\" border=0>
<TBODY>
<TR>
<TD colSpan=2><STRONG>Crew</STRONG></TD></TR>
<TR>
<TD>Yaer... Så skulle det gerne virke... Yo... Et lile eksempel på hvordan man kan bruge rammer, uden det hele fucker op :-D... Man skal bare huske at skjule dem igen...</TD>
<TD><IMG style=\"WIDTH: 229px; HEIGHT: 230px\" height=311 alt=\"\" src=\"/prestige/billeder/site/djjulian.jpg\" width=300 border=0></TD></TR>
<TR>
<TD colSpan=2>
<P><STRONG>Crewet:</STRONG></P>
<UL>
<LI>Julian (DJ)
<LI>Hvem er her..
<LI>Det er ik mig, jeg står her</LI>
</UL>
</TD></TR>
</TBODY>
</TABLE>
Avatar billede olebole Juniormester
03. november 2004 - 20:41 #13
Efter hver linie står der '\r\n', men jeg troede det var nok, når jeg skrev:
"Hvad er det din editor indsætter? Den kan kun lave linieskift med '\n', '\r\n', eller '<br>' (NB:de to første er 'usynlige')".

Jeg prøver igen: Der 'usynlige' -> kan ikke ses  ;o)

Det lyder mere end sært, editoren ikke kan håndtere dette, men der bliver jo skrevet så mange besynderlige koder. Anyway, så er løsningen:
  $str = str_replace("\r\n", "", $str);
Så er din streng $str renset.
Avatar billede jacob_m Nybegynder
04. november 2004 - 22:40 #14
ok... prøver lige igen så :-P
Avatar billede jacob_m Nybegynder
06. november 2004 - 14:26 #15
Det viker sq nu.. Mange tak.. Lig venligts et svar :-D
Avatar billede jaw Nybegynder
06. november 2004 - 14:45 #16
Tjah, byttede jo godt nok rundt på rækkefølgen, så Ole fortjener nok pointene, men lægger et svar alligevel :)

Og selv tak...
Avatar billede olebole Juniormester
06. november 2004 - 22:56 #17
Ellers tak - det er dine, jaw  :)
Avatar billede jaw Nybegynder
09. november 2004 - 14:44 #18
;)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester