forked from akhiljain93/secret-bear
-
Notifications
You must be signed in to change notification settings - Fork 1
/
read.php
37 lines (31 loc) · 882 Bytes
/
read.php
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
34
35
36
37
<?php
$file="polbooks.gml";
$target="polbooks.xml";
$read=fopen($file,'r');
$write=fopen($target,'w');
$rep='';
$node=true;
while(!feof($read)){
$line=fgets($read);
if ($node) {
$close='</node>';
}
else {
$close='/>';
}
$array1=array('/\s*node\s+\[?\s*/','/\s*id ([0-9]+)\s*/','/\s*edge\s+\[?\s*/','/\s*source ([0-9]+)\s*/','/\s*target ([0-9]+)\s*/','/\s*([a-z]+) "?([^"\n]*)"?\s*/','/\s*\]\s*/','/\s*\[\s*/');
$array2=array(' <node'," id=\"$1\">\n",' <edge',' source="$1"',' target="$1"'," <data key=\"$1\">$2</data>\n",$close."\n");
$rep=preg_replace($array1,$array2,$line);
if (strcmp($rep,"<edge") > 0) {
$node=true;
}
elseif (strcmp($rep,"<node") < 0 && strcmp($rep,"<edge") >= 0) {
$node=false;
}
fwrite($write,$rep);
}
$foot="\n</graph>\n</graphml>\n";
fwrite($write,$foot);
fclose($read);
fclose($write);
?>