passwort vergessen - registrieren

Festzeit.ch Forum » Computer » mit php bschtimmti bericht us eme Tegscht filtere

Autor Beitrag
siliciumcarbidMo 27.4.09, 22:38
Sali zämme
i ha es Problem. Ich will folgendes erreiche:

E Programmiersproch (CNC) wird via textbox igläse. dä gseht eso us öppe:

G01 X20 Z50
G00 X30 Z20 (und so witer)

jetz söll s'PHP script das ganze so filtere, das nur d'Koordinate übrig blibe.
Usgeh söll also das wärde:

X20|Z50
X30|Z20

dr Trennschtrich mues zwingend drbi si.

ich ha folgendes baschtlet. I weiss, i bi nit dr bescht programmierer ^^

if(eregi("X",$zerlegen[0])) {
$zerlegen[0] = str_replace("X", "", $zerlegen[0]);
if(eregi("\n",$zerlegen[0])) {
$X = "|X$zerlegen[0]"; } else { $X = ""; } } else { $X = ""; }

$eintrag="$X";
$datei = fopen("newcode.nc", "a";
fwrite($datei, "".$eintrag);
fclose($datei);

Das ganze funktioniert au eigentlich, wenn d'X Koordinate au bi zerlegen[0] isch. Isch die aber bi zerlegen[1] gohts nit. Das ganze Script chönnti unde jo no dupliziere und anschtell vo zerlegen[0] eifach zerlegen[1] neh, das goht aber ebe nit. und ich check nit was isch
remyliMo 27.4.09, 23:31
frei usem buch und nid teschtet

Zitat:
$input = "G01 X20 Z50\nG00 X30 Z20";
$in_ar = explode("\n", $input);
foreach($in_ar as $k=>$v) {
$in_ar[$k] = str_replace(' ', '|', substr($v,4));
}
$output = implode("\n", $in_ar);
evt. würds au mit array_walk oder array_map goh...
siliciumcarbidDi 28.4.09, 08:04
dangge vill mol
i ha also jetz folgende Code:

X8.|Z2.|
X0|Z5.|
X0|Z-16.|

jetz würd ich gärn oder müesst ich, dr Code so z'säge dupliziere. Das heisst, dr code vo ziile 1 wird bim code vo Ziile 2 hinde aghängt usw.
also so:

X8.|Z2.|
X0|Z5.|X8.|Z2.|
X0|Z-16.|X0|Z5.|

die erscht ziile isch däm noch leer, do wirdi eifach X/Z 0 mache.

i bi do chli am pröble ^^ aber das dunkti fascht no schwiriger als s'andere.
holysmokeDi 28.4.09, 08:43
<?php
$input = '
G01 X20 Z50
X30 G00 Z20
';

print getVars($input);



function getVars($input){
foreach (explode("\n",trim($input)) as $line) {
foreach(explode(' ',$line) as $var) {
if(eregi('g', $var)){$line_outg = $var;}else
if(eregi('z', $var)){$line_outz = $var;}
}
$out .= "$line_outg|$line_outz\n";
}
return $out;
}

?>
siliciumcarbidDi 28.4.09, 09:46
oha no vill besser dangge !

do wär d'Fortsetzig ^^
http://www.festzeit.ch/forum.php?show=thread&id=15525

Als angemeldeter festzeit.ch Member kannst du Themen erstellen und auf Beiträge antworten.
 
Infos/Hilfe » ©