fjern spaces i php

Tags:    php

<< < 12 > >>
Hej folkens.

Står med et problem, jeg vil fjerne spaces i et stykke tekst med tal osv osv, men, vil gerne beholde mindst 1 space imellem ordne og talne.

Det ser sådan her ud:
Fold kodeboks ind/udKode 


Problemet er at jeg skal have smidt det i en tabel (ligesom jeg beskrev i den anden tråd), altså 8 felter, i 1 tabel.

Hvordan gør jeg det?
Forsøgte med explode(" ", $input)



12 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
Du kan fjerne alle "unødvendige" mellemrum, ved at bruge funktionen trim();

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 27.10.2011 18:58 af Bruger #15853
Hej Danni

Hvis du kan gå udfra, at der altid er minimum 2 spaces i mellem hver kolonne, så kan du bruge følgende kode som benytter preg_split.

Fold kodeboks ind/udPHP kode 


Den giver dig de 8 kolonner i et pænt array.



Hvis du skal splitte teksten til et array, så brug preg_split. Hvis du kun skal fjerne extra mellemrum og tabs så brug preg_replace...

Regex er den samme...

$input = preg_replace('/[ \t]+/', ' ', $input);



Hej folkens.

Jeg har problemer endnu.

Så jeg vil da lige oplyse koden, og høre af hvad i syntes, og hvordan i ville gøre det anderledes?

Jeg skal bruge det i et array, så jeg kan smide det i en tabel.

koden er:
Fold kodeboks ind/udPHP kode 


Ikke at det er et svar på dit sprøgsmål som sådan, men jeg ville klart lave det der med simple html dom som kan downloades gratis her: http://simplehtmldom.sourceforge.net/

så kan du gøre sådan her, eller noget i den stil
Fold kodeboks ind/udPHP kode 

Fold kodeboks ind/udKode 





Indlæg senest redigeret d. 04.11.2011 14:48 af Bruger #3427
Hej folkens.

Jeg har problemer endnu.

Så jeg vil da lige oplyse koden, og høre af hvad i syntes, og hvordan i ville gøre det anderledes?

Jeg skal bruge det i et array, så jeg kan smide det i en tabel.

koden er:
Fold kodeboks ind/udPHP kode 




Prøv med:

Fold kodeboks ind/udPHP kode 


Det er blot et rent skud, for jeg ved ikke hvordan resultatet af dit script ser ud.



Daniele:

Mit script gav flg. Resultat:
Carlsberg B -0,61 -2,30 372,20 379,90 372,20 378,70 13:18 28/10

Som egentligt var rigtigt nok, skal dog have smidt hver del ind i et array, så det kan komme i en tabel..



Lucas: trim() fjerner kun mellemrum i siderne af strengen

Jeg er enig i at preg_split bør bruges, da regular expressions er bedre til at fjerne flere tegn på en gang / identificere forskellige tegn.

Det giver i øvrigt ikke mening for mig at du først ændrer mellemrum til \n, så prøver at explode med "carlsberg b" (som indeholder mellemrum) og så gør \n til mellemrum igen.



Indlæg senest redigeret d. 03.11.2011 12:00 af Bruger #15624
Mickelvlm: Det forstår jeg godt at du ikke forstår, for det kan jeg da heller ikke forstå nu hvor jeg kigger på det.

Hvordan ville du gribe det an?



Fold kodeboks ind/udPHP kode 


Virker ved mig

Jeg bruger preg_match_all i stedet for explode til at finde det rigtige. Så vidt jeg kan se er der kun én ting der hedder "body pink", så jeg går ud fra den <tr>. Preg_split får jeg så til at splitte det resterende når der er mere end 1 whitespacetegn imellem.



<< < 12 > >>
t