Witajcie
Może głupie pytanie, ale
mam plik konfiguracyjny
i chciałbym z niego wyciągnąć dane, ale..
tekst_1 = [
0,
0,
0,
0,
]
tekst_2 = [
0,
0,
0,
0,
]
dane są mniej więcej w takiej postaci chciałbym wyciągnąć wszystko z tekst_2 czyli co jest po między [ i ] ale żeby każda z linii była w oddzielnym polu input do edycji.
Pomoże ktoś?
dzięki
Dobra może napiszę więcej, by było bardziej zrozumiałe.
Kod wygląda tak
if ($first == "Zaopatrzenie") { http://www.php.net/echo "<h2 class=\"mt-2\"><p><b>", $first, "</b></p></h2>"; foreach($type as $key => $value) { http://www.php.net/echo "<p><b>", $key, "</b></p>"; http://www.php.net/echo "<ul>"; foreach($value as $item) { if (http://www.php.net/strtok($item, '=') == "Test_1" ) { $config_file = "acc_config/" . $_GET['id'] . "/settings.cfg"; $searched_settings = http://www.php.net/strtok($item, '='); http://www.php.net/header('Content-Type: text/plain'); $contents = http://www.php.net/file_get_contents($config_file); $pattern = http://www.php.net/preg_quote($searched_settings, '/'); $pattern = "/^.*$pattern.*\$/m"; if (http://www.php.net/preg_match_all($pattern, $contents, $matches)) { $wynik = (http://www.php.net/str_replace(http://www.php.net/array($searched_settings, "\"", ": ", ",", " "), "",http://www.php.net/implode($matches[0]))); } $true = "true"; $false = "false"; if(http://www.php.net/strpos($wynik, $true) !== false) { http://www.php.net/echo "<li>"; http://www.php.net/echo "<input type=\"checkbox\" name=\"checkbox\" checked /> "; http://www.php.net/echo http://www.php.net/substr($item, http://www.php.net/strpos($item, "=") + 1), "</li>"; } else if(http://www.php.net/strpos($wynik, $false) !== false) { http://www.php.net/echo "<li>"; http://www.php.net/echo "<input type=\"checkbox\" name=\"checkbox\" unchecked /> "; http://www.php.net/echo http://www.php.net/substr($item, http://www.php.net/strpos($item, "=") + 1), "</li>"; } } if (http://www.php.net/strtok($item, '=') == "Test_2" ) { $config_file = "acc_config/" . $_GET['id'] . "/settings.cfg"; $searched_settings = http://www.php.net/strtok($item, '='); http://www.php.net/header('Content-Type: text/plain'); $contents = http://www.php.net/file_get_contents($config_file); $pattern = http://www.php.net/preg_quote($searched_settings, '/'); $pattern = "/^.*$pattern.*\$/m"; if (http://www.php.net/preg_match_all($pattern, $contents, $matches)) { $wynik = (http://www.php.net/str_replace(http://www.php.net/array($searched_settings, "\"", ": ", ",", " "), "",http://www.php.net/implode($matches[0]))); http://www.php.net/echo "<li>", http://www.php.net/substr($item, http://www.php.net/strpos($item, "=") + 1), " "; http://www.php.net/echo "<input class=\"form-text\" name=\"test\" type=\"text\" value=\"", $wynik , "\" required/>"; http://www.php.net/echo " (Musi być w Twojej gildii)</li>"; } } if (http://www.php.net/strtok($item, '=') == "Test_3" ) { $config_file = "acc_config/" . $_GET['igg_id'] . "/settings.cfg"; $searched_settings = http://www.php.net/strtok($item, '='); http://www.php.net/header('Content-Type: text/plain'); $contents = http://www.php.net/file_get_contents($config_file); $pattern = http://www.php.net/preg_quote($searched_settings, '/'); $pattern = "/^.*$pattern.*\$/m"; if (http://www.php.net/preg_match_all($pattern, $contents, $matches)) { $wynik = (http://www.php.net/str_replace(http://www.php.net/array($searched_settings, "\"", ": ", ",", " "), "",http://www.php.net/implode($matches[0]))); } $true = "true"; $false = "false"; if(http://www.php.net/strpos($wynik, $true) !== false) { http://www.php.net/echo "<li>"; http://www.php.net/echo "<input type=\"checkbox\" name=\"checkbox\" checked /> "; http://www.php.net/echo http://www.php.net/substr($item, http://www.php.net/strpos($item, "=") + 1), "</li>"; } else if(http://www.php.net/strpos($wynik, $false) !== false) { http://www.php.net/echo "<li>"; http://www.php.net/echo "<input type=\"checkbox\" name=\"checkbox\" unchecked /> "; http://www.php.net/echo http://www.php.net/substr($item, http://www.php.net/strpos($item, "=") + 1), "</li>"; } } } http://www.php.net/echo "</ul>"; } http://www.php.net/echo "</ul>"; }; }
"tablica": { "Test_1": true, "Test_2": "TEXT", "Test_3": [ true, true, true, true, true ], "Test_4": [ 10, 20, 35, 50, 150 ], "Test_5": [ 0, 30, 30, 30, 30 ] },
Zdecyduj się jaki format danych masz bo już ten drugi przykład sugeruje json (json_decode).
Zapewne masz rację, dawno nie siedziałem w pisaniu kodu, i muszę sporo nadrobić. Pewnie jest prostsza metoda na szukanie tego co potrzebuję w plikach konfiguracyjnych.
No ale ten plik konfiguracyjny nie wygląda jak json, może pierwsze pozycje tak, ale co gdy właśnie jest po ":" tablica w klamrach [1,2,3,4,5], bo właśnie z tym mam problem jak to odczytać
Ale co ma być? Próbowałeś to uruchomić?
https://onlinephp.io4g2VrBRKikpTdZAFjYCCSiGuESFKKMLGQOFoiIACsiaSOBB2LIrBJsgGGxrA1RshmMamcKYpQtTQ1ACbeabI5iGZQZgJNY2Xq1bdmpeLl6sssSg-pTS3QCOrOD8vPiU1OT8lVUMlUQfsFU1NawA%2C&v=8.1.13
No tak, kod jest u mnie na serwerze i działa ale jeśli próbuję pobrać dane np z
"Test_3": [
true,
true,
true,
true,
true
],
to wyświetla mi tylko Test_3 [
jak zrobię
http://www.php.net/var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING));
NULL NULL NULL NULL NULL a dokładnie NULL string(12) "Syntax error"
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)