Avatar billede dmg Nybegynder
06. juni 2011 - 02:24 Der er 13 kommentarer og
1 løsning

Erstatte mange ord i streng og manipuler

hej experter,

Sorry paa US keyboard...

Er virkelig ik god til php strings... saa har brug for noget kode eksempel.

Jeg har lavet en function som telnetter ind til en ericsson HLR node. Her fyrer jeg et par kommandoer af. Mit output som jeg har lavet et lille eksempel af forneden gemmer jeg i en streng.

Overskrift 1
Nummer    Location        EL            AZ
xxxx          545452890  158          93

Overskrift 2
CAW-1        BAIC-0
CFU-1          CGFI-1

Overskrift 3
1001
2001
3001

Fordi outputtet er i forkskelligt format og 100 gange langere i virkeligheden ind ovenstoende eksempel kunne jeg godt tanke mig folgende:

1. En function som forst soger fra Overskrift 1 til Overskrift 2.
2. Formatere til et array:
[brugerinfo]
  =>[Nummer] = xxxx
  =>[Location] = 545452890
  =>[Al] = 158
  =>[EL] = 93
3. Finde alt fra Overskrift 2 til Overskrift 3.
4. Alle attributer skal oversattes. eksempel CAW til Call Waiting  og 0 eller 1 skal vare ikke aktiv eller aktiv. Dette skal saa gemes i et array:
[Supplementary Services]
  =>[Call Waiting] = Aktiv
  =>[Call Forwarding] = Aktiv
etc.

Mange mange tak!
Avatar billede majbom Novice
06. juni 2011 - 07:21 #1
forskelligt format? er det anderledes end det du viser, eller mener du bare at de 3 overskrifter ikke er ens?

er det tabulator-separeret, eller er det bare en stak mellemrum, som i dit eksempel?
Avatar billede dmg Nybegynder
06. juni 2011 - 09:43 #2
hej splazz,

Ja forst og fremmest at overskrifterne er forskellige, derfor vil jeg gerne ha en function der gor at jeg kan vaalge et omrode at arbejde med.

Problemet er at outputtet jeg modtager ser forfardeligt ud og jeg prover at lave en side hvor jeg formatere det pant i html.

Omrodet mellem overskrifterne er forskelligt format som er derfor jeg prover at opdele forskellige omroder i outputtet, saa jeg kan formatere det pant.

Jeg ved ik om det er tabulator-sepereret, men jeg kan finde ud af det i morgen, nor jeg tager paa arbejde.

Jeg tror jeg kan klare det meste selv hvis jeg finder en function der kan soge fra overskrift 1 og 2 osv, da jeg derfra kan finde en mode at formatere outputtet paa.
Tankte bare jeg kunne lave en post her og faa det hjele klaret paa een gang ;)

Mange tak for hjalpen so far
Avatar billede majbom Novice
06. juni 2011 - 10:28 #3
det er jo lidt svært at hjælpe, når vi ikke ved hvordan filen ser ud... :)

det ville være fint med et udsnit af strengen, eller en hel streng (ved ikke hvor stor sådan en er jo..), så vi kan få en ide om hvordan den er bygget op...
Avatar billede dmg Nybegynder
06. juni 2011 - 10:39 #4
OK, Jeg vil finde et HLR subscriber data output. det vil jeg arbejde paa i morgen tidlig dvs aften i DK.

I mellem tiden har jeg fundet et script jeg moske kan bruge til at soge mellem ord i en streng.
http://www.jonasjohn.de/snippets/php/get-between.htm
Avatar billede dmg Nybegynder
06. juni 2011 - 10:42 #5
filen er ret stor saa jeg tror ikke jeg kan paste den her paa exp. Ellers maa jeg finde en file sharing hjemmeside for temperer download.
Avatar billede majbom Novice
06. juni 2011 - 11:15 #6
du kan evt osse redigere i den, så vi bare får et eksempel på den og kan se de muligheder der kan være...

du kan evt. bruge pastebin.com
Avatar billede dmg Nybegynder
06. juni 2011 - 11:51 #7
tak for pastebin! det bare genialt!
Jeg uploader hele filen inden kl. 9 i aften og x'er de personlige oplysninger ud der motte vaare.
Thanks again!
Avatar billede majbom Novice
06. juni 2011 - 14:29 #8
selv tak :)

æ = ae
ø = oe
å = aa

(gør din tekst lidt nemmere at læse, det ser ikke ud til at du kan bestemme dig ;) )
Avatar billede dmg Nybegynder
06. juni 2011 - 20:28 #9
Hej igen og tak for forklaring :-),

Saa fik jeg uploadet et HLR Subscriber Data output.

Original er original filen.
Edited har jeg beskrevet hvilke dele af outputtet jeg oensker at dele op.

Original - http://pastebin.com/vizMtBFd - Original
Edited - http://pastebin.com/E44jX8Y7 - Edited
Avatar billede dmg Nybegynder
07. juni 2011 - 05:20 #10
Kan confirme http://www.jonasjohn.de/snippets/php/get-between.htm scriptet virker til at soege imellem HLR Subscriber outputtet.

Nu ville det vaere rart med lidt hjaelp til at formatere foerste array:

FRA

MSISDN          IMSI            STATE          AUTHD
XXXXXXXXXXXX    XXXXXXXXXXXXXXX  CONNECTED      AVAILABLE

NAM
0

TIL

array("MSISDN" => "XXXXXXXXXXXX", "IMSI" => "XXXXXXXXXXXX", "STATE" => "CONNECTED", "AUTH" => "AVAILABLE", "NAM" => "0");

Eller noget i den stil. Bare saadan saa det let at traekke ud.
Avatar billede majbom Novice
07. juni 2011 - 08:40 #11
hmm, jeg er sq lidt i tvivl om pastebin laver tabulutorer om til mellemrum...

har du mulighed for at ligge filen op som den er uden at gøre noget ved den?
Avatar billede dmg Nybegynder
07. juni 2011 - 10:23 #12
Hej splazz,

Jeg har ikke gjordt noget ved filen. Er ret sikker paa den ikke er tabulator genereret.
Men leder efter en maade dette ville virke ogsaa hvis jeg bruger trim($HLR_output);
Nu hvor jeg kan soege mellem strengen (outputtet) skulle det vaere muligt at kunne opdele hver del i et array.
Avatar billede dmg Nybegynder
25. juli 2012 - 23:20 #13
Hej igen. Tror vist jeg lukker denne. Mange tak for hjaelpen ellers.
Avatar billede majbom Novice
26. juli 2012 - 07:50 #14
Fik du det løst?
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