arto
Grünschnabel
Hi
Ich versuche ein Eclipse Plugin zu erstellen, mit dem ich dann den Inhalt eines PHP Files manipuliere (natürlich im Workspace). Um die gewünschten manipulationen anfertigen zu können, möchte ich die HTML und PHP teile des Files voneinander trennen und nach der Manipulation wieder zusammenführen. (Dies weil ich HTML ausserhalb der PHP tags anders behandeln muss als PHP code oder HTML das mittels echo oder print ausgegeben wird).
Ich habe daran gedacht, die einzelnen Teilstrings dann in zwei verschiedenen HashMaps zu speichern und die Reihenfolge in einer ArrayList festzuhalten.
Also es soll zum Beispiel aus
etwas in der Art resultieren:
Die Frage ist nun, wie teile ich das File auf? Geht das am besten mit Regex? Oder eher Zeichen für Zeichen?
Zu beachten gilt auch, dass ein solches PHP file auch mit PHP code beginnen kann, ohne dies mit <? einzuläuten, da es sich teilweise um Files handelt, die später zusammengesetzt werden.
Ich danke schon im Voraus für alfällige Lösungsansätze
Gruss arto
Ich versuche ein Eclipse Plugin zu erstellen, mit dem ich dann den Inhalt eines PHP Files manipuliere (natürlich im Workspace). Um die gewünschten manipulationen anfertigen zu können, möchte ich die HTML und PHP teile des Files voneinander trennen und nach der Manipulation wieder zusammenführen. (Dies weil ich HTML ausserhalb der PHP tags anders behandeln muss als PHP code oder HTML das mittels echo oder print ausgegeben wird).
Ich habe daran gedacht, die einzelnen Teilstrings dann in zwei verschiedenen HashMaps zu speichern und die Reihenfolge in einer ArrayList festzuhalten.
Also es soll zum Beispiel aus
Code:
<html>
<head>
<title>Ein Beispiel</title>
</head>
<body>
<?
echo "foo";
echo "<p>Hier kann auch HTML stehen</p>";
?>
</body>
</html>
etwas in der Art resultieren:
Code:
HashMap html:
"1" => "<html>
<head>
<title>Ein Beispiel</title>
</head>
<body>",
"3" => "</body>
</html>"
HashMap php:
"2" => "<?
echo \"foo\";
echo \"<p>Hier kann auch HTML stehen</p>\";
?>"
ArrayList reihenfolge:
0 => "html_1",
1 => "php_2",
2 => "html_3"
Die Frage ist nun, wie teile ich das File auf? Geht das am besten mit Regex? Oder eher Zeichen für Zeichen?
Zu beachten gilt auch, dass ein solches PHP file auch mit PHP code beginnen kann, ohne dies mit <? einzuläuten, da es sich teilweise um Files handelt, die später zusammengesetzt werden.
Ich danke schon im Voraus für alfällige Lösungsansätze
Gruss arto