php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.09.2010, 16:23  
Neuer Benutzer
 
Registriert seit: 13.09.2010
Beiträge: 12
PHP-Kenntnisse:
Anfänger
DeathShadow befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] problem mit preg_match_all

hi ... ich bin neu hier , und habe da auch gleich mal ein problem bei dem ich eure hilfe gebrauchen könnte ...
und zwar geht es darum, ich habe ein php script das mir aus einer LUA ein php array macht ...

nur gibt es da ein problem...

in der LUA sind stellen die sehen so aus: (test.lua im anhang)

Code:
{  ...  }, -- [1]
und ich muss daraus das machen:
Code:
["1"] = { ...  },
ich habe es mit :
PHP-Code:
$lua file('test.lua');
$edit_lua implode(" ",$lua);
$edit_lua str_replace("<br>",'',$edit_lua);

    
preg_match_all("!{(?P<c>.+)}, -- \[(?P<n>.+)\]!"$edit_lua$var);
    for(
$i=0;$i<count($var['n']);$i++){
        
$edit_lua preg_replace("/{".$var['c'][$i]."}, -- \[".$var['n'][$i]."\]/",'["'.$var['n'][$i].'"] = {'.$var['c'][$i].'},',$edit_lua);
    } 
versucht, da dies bei meinem scripten bis jetzt immer geklappt hat ^^ ...
aber es geht einfach nicht ...

könnt ihr mit bitte helfen ...
danke im vorraus

MFG Death
Angehängte Dateien
Dateityp: zip test_lua.zip (783 Bytes, 12x aufgerufen)

Geändert von DeathShadow (13.09.2010 um 17:02 Uhr).
DeathShadow ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.09.2010, 17:07  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
aber es geht einfach nicht ...
ist keine sinnvolle Problembeschreibung.
Asipak ist offline   Mit Zitat antworten
Alt 13.09.2010, 17:13  
Neuer Benutzer
 
Registriert seit: 13.09.2010
Beiträge: 12
PHP-Kenntnisse:
Anfänger
DeathShadow befindet sich auf einem aufstrebenden Ast
Standard

hmm ja ok ^^ sry ... also ...
das preg_match_all findet einfach nix ... ergo kann das preg_replace auch nix ersetzen ...
ich habe es mit einem print_r der $var versucht und da ist nix drinn ...

ich kenne mich mit dem preg_match_all aber auch nicht so gut aus ^^ ...
ich habe aber auch schon seit tagen die Manual studiert und blicke einfach nicht durch -.- ...
DeathShadow ist offline   Mit Zitat antworten
Alt 13.09.2010, 17:15  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Schau dir mal den Modifikator s an: http://php.net/manual/de/reference.p....modifiers.php
Asipak ist offline   Mit Zitat antworten
Alt 13.09.2010, 17:18  
Neuer Benutzer
 
Registriert seit: 13.09.2010
Beiträge: 12
PHP-Kenntnisse:
Anfänger
DeathShadow befindet sich auf einem aufstrebenden Ast
Standard

das hab ich mir auch schon mehrmals durchgelesen ... aber ich habe kein plan wie,wo und vorallem welche modifikatoren ich verwenden soll (muss) ....

das was ich verwende war mal in einer beispiel datei enthalten und hatte wie gesagt bis jetzt immer funktioniert ...

nur leider scheint es hierfür nicht zu reichen ...
DeathShadow ist offline   Mit Zitat antworten
Alt 13.09.2010, 17:22  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Dann bekommst du eben noch eine andere Quelle: http://regexp-evaluator.de/tutorial/modifier/

Zitat:
und vorallem welche modifikatoren ich verwenden soll (muss)
Das habe ich dir ja eigentlich geschrieben. Und außerdem sollte das auch durch die Beschreibung zu den Modifikatoren deutlich werden.
Asipak ist offline   Mit Zitat antworten
Alt 13.09.2010, 17:35  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.563
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

und wenn es darüber nicht will, dannn nimm halt herkömmliche String-Funktionen ....

mit diesen schön zu erkennenden Kennzeichen { } [ ] kann man den String auch wunderbar mit strpos /strrpos durchsuchen, und dann "kleinschnipseln"
eagle275 ist offline   Mit Zitat antworten
Alt 13.09.2010, 18:09  
Neuer Benutzer
 
Registriert seit: 13.09.2010
Beiträge: 12
PHP-Kenntnisse:
Anfänger
DeathShadow befindet sich auf einem aufstrebenden Ast
Standard

also ...

X = ignoriere lehrzeichen
i = ignoriere Groß und klein schreibung
D = zeilenumbruch am ende

ergo müste laut meinem verständniss:
PHP-Code:
    preg_match_all("!{(?P<c>.+)},--\[(?P<n>d+)\]!iDX"$edit_lua$var);
    for(
$i=0;$i<count($var['n']);$i++){
        
$edit_lua preg_replace("!{".$var['c'][$i]."},--[".$var['n'][$i]."]!iDX",'["'.$var['n'][$i].'"] = {'.$var['c'][$i].'},',$edit_lua);
    } 
gehen ...

aber immernoch nix ... hab ich da was falsch verstanden ??
DeathShadow ist offline   Mit Zitat antworten
Alt 13.09.2010, 18:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
X = ignoriere lehrzeichen
Es heißt erstens „Leerzeichen“ und zweitens hast Du das Manual nicht richtig gelesen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 13.09.2010, 19:46  
Neuer Benutzer
 
Registriert seit: 13.09.2010
Beiträge: 12
PHP-Kenntnisse:
Anfänger
DeathShadow befindet sich auf einem aufstrebenden Ast
Standard

erstens habe ich LRS ... also sry für rechtschreib fehler
und zweitens lese ich dies seit tagen und kappier es nur einfach nicht ...

wäre ich aus dem schlau geworden müste ich mir keine hilfe holen ...

es wäre nett wenn mir jemand das ganze mal so scripten würde das es geht ... und mir den aufbau erklärt ...

-- EDIT ---
so ... nach etwas experimentieren und einfach mal alles durch probiert ^^ .... geht es nun:

PHP-Code:
preg_match_all('/\t\{(.+)\}\, \-\- \[(?P<n>.+)\]/sU'$edit_lua$var);
    for(
$i=0;$i<count($var['n']);$i++){
        
$edit_lua preg_replace('/\t\{(.+)\}\, \-\- \['.$var['n'][$i].'\]/sU',"\t".'["'.$var['n'][$i].'"] = {\\1},',$edit_lua);
    } 
aber die geposteten manueal kannte ich schon und die haben mir perönlich nicht geholfen ... -.-

trozdem danke für die hilfe ^^....

-- EDIT 2 --
ok neues problem ... mit der test.lua funktioniert es wie gesagt einwandfrei ... nur wenn ich die "normalen" lua dateien verwenden will (ca 5000 zeilen) ist die variable lua danach leer ...

mein code sieht nun so aus:
PHP-Code:
$lua file("lua_chars/LUA/$cname2.lua");
$lua implode("",$lua);
$lua str_replace("<br>",'',$lua);

echo 
'vorher: '.strlen($lua)." zeichen <br>";

    
preg_match_all('/\t\{(.+)\}\, \-\- \[(?P<n>.+)\]/sU'$lua$var);
    for(
$i=0;$i<count($var['n']);$i++){
        
$lua preg_replace('/\t\{(.+)\}\, \-\- \['.$var['n'][$i].'\]/sU',"\t".'["'.$var['n'][$i].'"] = {\\1},',$lua);
    }

echo 
'nachher: '.strlen($lua). " zeichen"
die ausgabe war zum testen ...
vorher : 239147 zeichen
nachher: 0 zeichen

der aufbau der lua datein ist nicht anders als die der test.lua nur das noch ein par array's hinzu kommen

mfg Der Death

Geändert von DeathShadow (14.09.2010 um 02:15 Uhr).
DeathShadow ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Ajax - Session Problem halskrause PHP Tipps 2009 10 12.01.2010 02:27
[Erledigt] Problem mit Mehrsprachigkeit Sniper_Kotaro PHP Tipps 2009 2 16.12.2009 11:47
Problem beim Download Management mistermint PHP Tipps 2009 8 24.10.2009 11:34
Umlaut Problem nokieone PHP Tipps 2009 7 16.10.2009 19:30
Problem mit Basedir in PhP cmuch05 Datenbanken 9 08.01.2009 14:17
[Erledigt] Problem: PHP Selbe Datei mehr als 1 Mal soulan PHP Tipps 2008 13 28.11.2008 22:51
Problem Upload mehrere Dateien und schreiben in DB Lapje PHP Tipps 2008 1 22.10.2008 13:12
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
lua in php, preg_match_all leer

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum