aus nem string was bestimmtes extrahieren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arbeit
argument
array
brauch
code
dumme sture listen
eigene syntax
format
jemand
list
liste
listen
meister
nennen
schleife
statistik
string
tabelle
test
weitergehen
-
ich weiß der titel ist blöd, ich hab ka wie man das sonst nennen soll....
ich bin tot ideenlos und brauch hilfe. MEISTER, ERHÖRET MICH!
problem ist folgendes: ich möchte gern nen template prasen, und das soll listen beinhalten. nun will ich nich dumme sture listen machen mit immer append, sondern sie sollein ein bissel variabel sein.
gegenebn ist folgende listenstruktur:
$list['LISTENNAME'] = array ( array ('test1', 'test2', 'test3'), array ('test4', 'test5', 'test6') );
das erste array $list ist eine klasseninterne liste aller listen, damit ich die beisammenhabe, ihr argument für den arrayparameter besteht aus einem string, dem listenname. nun folgt halt ein 2 dimensionales array hinten ran, was nummerisch ist!!!! und eine liste mit den strings enthält die ersetzt werden sollen. ich geh mal weiter vor wies weitergehen soll:
jetzt soll man im template folgendes reinschreiben:
<table> {{LISTNAME|<tr><td>%1</td><td>%2</td><td>%3</td></tr>}} </table>
und raus kommt halt:
<table> <tr><td>test1</td><td>test2</td><td>test3</td></tr> <tr><td>test4</td><td>test5</td><td>test6</td></tr> </table>
ich weiß das ist eine "große aufgabe" aber ich bin ratlos 0.0 ich hab nichtmal ne idee oder so, wie man das machen kann... aber ich brauch das halt.
könnt ihr mir da helfen? bitte
danke schonmal im vorraus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi. Ich hab dir zum Spass das ganze Skript geschrieben :D
Hoffe das ist was du suchst :)
<?php $list['LISTNAME'] = array ( array ('test1', 'test2', 'test3'), array ('test4', 'test5', 'test6') ); $format = '<table> {{LISTNAME|<tr><td>%1</td><td>%2</td><td>%3</td></tr>}} </table>'; $farray = explode("\n", $format); $startread = 0; for($i = 0; $i < strlen($farray[1]); $i++){ if($farray[1][$i] != "{" && $startread == 0){ $startread = $i; } if($farray[1][$i] == "|"){ break; } } $list_name = substr ($farray[1], $startread , $i-$startread); $list_syntax = substr ($farray[1], $i+1, strlen($farray[1])-$startread-$i-2); $result = $farray[0]; foreach ($list[$list_name] as &$sublist) { $j = 1; $bodytag = $list_syntax; foreach ($sublist as $content) { $bodytag = str_replace("%".$j, $content, $bodytag); $j++; } $result.= "\n".$bodytag; } $result .= "\n".$farray[2]; echo $result; ?>
-
Wenn ich dich richtig verstanden haben sollen test1-3 die Überschrift und test-4-6 der Inhalt sein.
Mach es doch einfach über eine foreach Schleife.
<table> <tr><?php foreach ($list['LISTNAME'][0] as $name) printf('<th>%s</th>', $name); ?></tr> <tr><?php foreach ($list['LISTNAME'][1] as $value) printf('<td>%s</td>', $value); ?></tr> </table>
Du kannst auch einen Placeholder einfügen und später diesen durch die Ausgabe ersetzten
<table> <tr>{NAMES}</tr> <tr>{VALUES}</tr> </table>
-
klingt auf jedenfall interessant
gedacht ist das folgender maßen:
wir haben ein template das besteht aus HTML code:
<h3>test</h3>
<p> {{CONTENT}}</p>
<b> Hier eine statistik dazu</b>
der name: {{STATNAME}} <br/>
<table>
{{STATISTIK|
<tr><td>%1</td><td>%2</td></tr>}}
</table>
usw. das ist mal son beispiel. und die liste soll halt dynamisch generiert werden aus dem template oben. anders wäre es lästig, und so ein listtemplate wäre hilfreich.
das meine ich genau -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage