Get String, Edit String, String to array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Marc Hagen

Marc Hagen

24/08/2010 19:50:26
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

error_reporting(E_ALL);
ini_set('display_errors', '1');

if ($fp = fopen("http://***.***.***.***/***.***.***.***_*****/ULib/users.txt","r")) {
    $content = '';
    // keep reading until there's nothing left
    while ($line = fgets($fp, 1024)) {
        $content .= $line;
    }

    echo $content;

    //Array of special charecters you want to replace
    $special1 = array('{','}','STEAM','-','_',':','0','1','2','3','4','5','6','7','8','9','ï','»','¿','""','"allow"','"deny"');
    $special2 = array(' ');
    $special3 = array('"name"');    
    $special4 = array('"group"','"superadmin"','"admin"');
    
    $replacement1 = str_replace($special1,'',$content);
    $replacement2 = str_replace($special2,'_',$replacement1);
}


?>


He all,
Ik heb een probleem maar kan hem niet oplossen.
Ik zal mijn script even uitleggen.

Eerst open ik een remote bestand en lees het dan.
vervolgens word het als een string opgeslagen in de var $content
De string ziet er zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName1" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName2" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName3" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName4" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName5" }


Deze strip ik helemaal met str_replace tot dat ik alleen dit heb:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"group" "superadmin"
"name" "USeRName1"

"group" "superadmin"
"name" "USeRName2"

"group" "superadmin"
"name" "USeRName3"

"group" "superadmin"
"name" "USeRName4"

"group" "superadmin"
"name" "USeRName5"


Nu mijn vraag: Hoe can ik dit in een array zetten?
Zo eigenlijk:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Array
(
    [0] => Array
        (
            [group] => superadmin
            [name] => USeRName1
        )
    [1] => Array
        (
            [group] => superadmin
            [name] => USeRName2
    )
    [2] => Array
        (
            [group] => superadmin
            [name] => USeRName3
        )
    [3] => Array
        (
            [group] => superadmin
            [name] => USeRName4
        )
    [4] => Array
        (
            [group] => superadmin
            [name] => USeRName5
        )
    [5] => Array
        (
            [group] => superadmin
            [name] => USeRName6
        )
)


De bedoeling is ook dat als op het remote bestand word gewijzigd, zoals meer of minder admins, dat dit ook word doorgevoerd.
Kan iemand me hier mee helpen?

Toevoeging op 25/08/2010 09:25:13:

Kan niemand mij helpen??????
Gewijzigd op 25/08/2010 09:40:50 door Marc Hagen
 
PHP hulp

PHP hulp

29/03/2024 14:54:26
 
Marc Hagen

Marc Hagen

29/08/2010 17:02:48
Quote Anchor link
Wel bedankt phphulp voor uw wijze hulp!!

edit:
sarcastisch bedoeld!
Gewijzigd op 29/08/2010 17:14:56 door Marc Hagen
 
Synaps Framework

Synaps Framework

29/08/2010 17:05:52
Quote Anchor link
Graag gedaan.
 
Marc Hagen

Marc Hagen

29/08/2010 17:14:01
Quote Anchor link
Synaps Framework op 29/08/2010 17:05:52:
Graag gedaan.


ha ha niet grappig.. >:(
Gewijzigd op 29/08/2010 17:15:15 door Marc Hagen
 
Vincent Huisman

Vincent Huisman

29/08/2010 17:19:44
Quote Anchor link
ik dacht al dat dit via PM ofzo was opgelost
 
Marc Hagen

Marc Hagen

29/08/2010 17:31:19
Quote Anchor link
Vincent Huisman op 29/08/2010 17:19:44:
ik dacht al dat dit via PM ofzo was opgelost


Uh nee anders zou ik dat wel zeggen.
Zo ben ik dan weer
 
Vincent Huisman

Vincent Huisman

29/08/2010 17:33:47
Quote Anchor link
en waarom die je dit niet via een database?
 
Marc Hagen

Marc Hagen

29/08/2010 17:39:40
Quote Anchor link
Vincent Huisman op 29/08/2010 17:33:47:
en waarom die je dit niet via een database?


Omdat het van de gameserver word afgehaalt.
Deze moet ik anders steeds in een database zetten.
(Nee de gameserver gebruikt GEEN database)
 
SilverWolf NL

SilverWolf NL

29/08/2010 17:55:49
Quote Anchor link
Nou jonge, omdat je het zo lief vraagt en zo beleeft bumpt, hier issie dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
$var
='"group" "superadmin"
"name" "USeRName1"

"group" "superadmin"
"name" "USeRName2"

"group" "superadmin"
"name" "USeRName3"

"group" "superadmin"
"name" "USeRName4"

"group" "superadmin"
"name" "USeRName5"'
;
$var=preg_replace('/\"(.*?)\"\s\"(.*?)\"'.PHP_EOL.'\"(.*?)\"\s\"(.*?)\"/si','{"\\1":"\\2","\\3":"\\4"}',$var);
$var="[".str_replace("}".PHP_EOL.PHP_EOL."{","},".PHP_EOL.PHP_EOL."{",$var)."]";
$var=json_decode($var,true);
var_dump($var);
?>
 
Marc Hagen

Marc Hagen

29/08/2010 18:01:07
Quote Anchor link
SilverWolf NL op 29/08/2010 17:55:49:
Nou jonge, omdat je het zo lief vraagt en zo beleeft bumpt, hier issie dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
$var
='"group" "superadmin"
"name" "USeRName1"

"group" "superadmin"
"name" "USeRName2"

"group" "superadmin"
"name" "USeRName3"

"group" "superadmin"
"name" "USeRName4"

"group" "superadmin"
"name" "USeRName5"'
;
$var=preg_replace('/\"(.*?)\"\s\"(.*?)\"'.PHP_EOL.'\"(.*?)\"\s\"(.*?)\"/si','{"\\1":"\\2","\\3":"\\4"}',$var);
$var="[".str_replace("}".PHP_EOL.PHP_EOL."{","},".PHP_EOL.PHP_EOL."{",$var)."]";
$var=json_decode($var,true);
var_dump($var);
?>

Fijn dat iemand de moeite neemt. Bedankt. Maar xD

Zoals als ik al zei in mijn eerste post. ik haal het van een server.
Dus is het niet een var.

Ik zal mezelf nog effe quoten:
Marc Hagen op 24/08/2010 19:50:26:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

error_reporting(E_ALL);
ini_set('display_errors', '1');

if ($fp = fopen("http://***.***.***.***/***.***.***.***_*****/ULib/users.txt","r")) {
    $content = '';
    // keep reading until there's nothing left
    while ($line = fgets($fp, 1024)) {
        $content .= $line;
    }

    echo $content;

    //Deze strip ik helemaal met str_replace tot dat ik alleen dit heb:
    $special1 = array('{','}','STEAM','-','_',':','0','1','2','3','4','5','6','7','8','9','ï','»','¿','""','"allow"','"deny"');
    $special2 = array(' ');
    $special3 = array('"name"');    
    $special4 = array('"group"','"superadmin"','"admin"');
    
    $replacement1 = str_replace($special1,'',$content);
    $replacement2 = str_replace($special2,'_',$replacement1);
}


?>


He all,
Ik heb een probleem maar kan hem niet oplossen.
Ik zal mijn script even uitleggen.

Eerst open ik een remote bestand en lees het dan.
vervolgens word het als een string opgeslagen in de var $content
De string ziet er zo uit:
=== hier is het bestand zoals ik het krijg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName1" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName2" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName3" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName4" } "STEAM_*:*:********" { "deny" { } "group" "superadmin" "allow" { } "name" "USeRName5" }


Deze strip ik helemaal met str_replace tot dat ik alleen dit heb:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"group" "superadmin"
"name" "USeRName1"

"group" "superadmin"
"name" "USeRName2"

"group" "superadmin"
"name" "USeRName3"

"group" "superadmin"
"name" "USeRName4"

"group" "superadmin"
"name" "USeRName5"


Nu mijn vraag: Hoe can ik dit in een array zetten?
Zo eigenlijk:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Array
(
    [0] => Array
        (
            [group] => superadmin
            [name] => USeRName1
        )
    [1] => Array
        (
            [group] => superadmin
            [name] => USeRName2
    )
    [2] => Array
        (
            [group] => superadmin
            [name] => USeRName3
        )
    [3] => Array
        (
            [group] => superadmin
            [name] => USeRName4
        )
    [4] => Array
        (
            [group] => superadmin
            [name] => USeRName5
        )
    [5] => Array
        (
            [group] => superadmin
            [name] => USeRName6
        )
)


De bedoeling is ook dat als op het remote bestand word gewijzigd, zoals meer of minder admins, dat dit ook word doorgevoerd.
Kan iemand me hier mee helpen?

Toevoeging op 25/08/2010 09:25:13:

Kan niemand mij helpen??????


Toevoeging op 29/08/2010 18:04:09:

Ik heb dus al zitten klooien met:
explode(), str_split(), preg_split()
maar het probleem is dat ik het niet in een array krijg zoals hierboven staat vermeld
 
Vincent Huisman

Vincent Huisman

29/08/2010 18:05:31
Quote Anchor link
je kan die var toch verplaatsem met wat jij hebt?
 
Marc Hagen

Marc Hagen

29/08/2010 18:19:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if ($fp = fopen("http://91.192.210.170/91.192.210.170_27015/ULib/users.txt","r")) {
    $content = '';
    // keep reading until there's nothing left
    while ($line = fgets($fp, 1024)) {
        $content .= $line;
    }

    $content = preg_replace('/\"(.*?)\"\s\"(.*?)\"'.PHP_EOL.'\"(.*?)\"\s\"(.*?)\"/si','{"\\1":"\\2","\\3":"\\4"}',$content);
    $content = "[".str_replace("}".PHP_EOL.PHP_EOL."{","},".PHP_EOL.PHP_EOL."{",$content)."]";    
    var_dump(json_decode($content,true));
}

?>

Dit is wat ik heb..
output: NULL
Gewijzigd op 29/08/2010 18:20:10 door Marc Hagen
 
SilverWolf NL

SilverWolf NL

29/08/2010 18:25:19
Quote Anchor link
Dat komt omdat je 1) je filters weggehaald hebt, en 2) niet de stream zoals hij eruit kwam gegeven hebt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

if ($fp = fopen("http://91.192.210.170/91.192.210.170_27015/ULib/users.txt","r")) {
    $content = '';
    // keep reading until there's nothing left
    while ($line = fgets($fp, 1024)) {
        $content .= $line;
    }

    $special1 = array('{','}','STEAM','-','_',':','0','1','2','3','4','5','6','7','8','9','ï','»','¿','""','"allow"','"deny"');
    $special2 = array(' ');
    $special3 = array('"name"');    
    $special4 = array('"group"','"superadmin"','"admin"');
    
    $content = str_replace($special1,'',$content);
    $content = str_replace($special2,'_',$content);
    
    $content = preg_replace('/\"(.*?)\"\s\"(.*?)\"(.*?)\"(.*?)\"\s\"(.*?)\"/si','{"\\1":"\\2","\\4":"\\5"}',$content);
    $content = "[".preg_replace("/\}(.*?)\{/si","},{",$content)."]";
    $content = json_decode($content,true);
    var_dump($content);
}

?>


Werkt bij mij...
 
Marc Hagen

Marc Hagen

29/08/2010 18:53:42
Quote Anchor link
SilverWolf NL op 29/08/2010 18:25:19:
Dat komt omdat je
1) je filters weggehaald hebt
2) niet de stream zoals hij eruit kwam gegeven hebt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
...

Werkt bij mij...


Oke thanks. Alleen komt er nu een string(10) uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
array(4) {
  [0]=>
  array(2) {
    ["group"]=>
    string(10) "superadmin"
    ["name"]=>
    string(8) "username"
  }
  [1]=>
  array(2) {
    ["group"]=>
    string(10) "superadmin"
    ["name">
    string(8) "username"
  }
  [2]=>
  array(2) {
    ["group"]=>
    string(10) "superadmin"
    ["name"]=>
    string(8) "username"
  }
  [3]=>
  array(2) {
    ["group"]=>
    string(10) "superadmin"
    ["name"]=>
    string(8) "username"
  }
}


Als je dat er ook wil uithalen ben ik helemaal blij!
Alvast bedankt allemaal
Gewijzigd op 29/08/2010 18:54:33 door Marc Hagen
 
Jelmer -

Jelmer -

29/08/2010 18:58:11
Quote Anchor link
Ghehe, nee, dat is de manier waarop var_dump je array print. Vervang die functie-aanroep maar eens met een aanroep naar print_r, die je zelf hebt gebruikt, en tada!
 
Marc Hagen

Marc Hagen

29/08/2010 19:06:28
Quote Anchor link
Jelmer rrrr op 29/08/2010 18:58:11:
Ghehe, nee, dat is de manier waarop var_dump je array print. Vervang die functie-aanroep maar eens met een aanroep naar print_r, die je zelf hebt gebruikt, en tada!


Oke He bedankt allemaal. Ik ben meer het basic php scripting.
Het is opgelost. Link coming soon
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.