Weblog-Verwaltung ohne SQL
Andü
- projektverwaltung
Huhu,
ich versuche grade so eine Art Weblog anzulegen wo ich immer neue Artikel hinzufüge und diese werden dann automatisch mit Erstellungsdatum, evtl. Kommentar, usw. gespeichert.
Wie kann man so eine Umsetzung am besten verwalten? In einer txt-Datei mit allen Informationen in einer Datenbank könnte das ziemlich komplex werden. Hätte da jmd eine bessere Möglichkeit?
Hallo
z.B. in einer XML-Struktur...
<blog>
<eintrag id>
<titel></titel>
<datum></datum>
<autor></autor>
<inhalt></inhalt>
</eintrag>
<eintrag id>
<titel></titel>
<datum></datum>
<autor></autor>
<inhalt></inhalt>
</eintrag>
...
</blog>
oder so ähnlich.
Gruss
Danke, darüber hab ich auch schon nachgedacht. Gibt es dazu dann auch gleich PHP-Funktionen um die XML-Datei auszulesen (ohne denn Kompletten Text selbst zu zerlegen) oder muss ich dass dann komplett über XML/DTD machen?
Hallo
PHP hab ich keinen Plan, aber würde mich wundern, wenns da sowas nicht gäbe.
Gruss
Hab bei SELFPHP nur mal kurz nach XML gesucht und nicht wirklich was sinnvolles gefunden. Ich dachte bloß es könnte mit PHP relativ dynamisch gemacht werden.
hi,
Hab bei SELFPHP nur mal kurz nach XML gesucht und nicht wirklich was sinnvolles gefunden. Ich dachte bloß es könnte mit PHP relativ dynamisch gemacht werden.
http://www.php.net/manual/de/
[strg]+[f] xml
gruß,
wahsaga
http://www.php.net/manual/de/
[strg]+[f] xml
Ehrlich gesagt, geht mir dieses Handbuch ziemlich aufn Nerv.
1. Jeder schickt einen dort hin.
2. Es ist sowas von unübersichtlich, wenn man bloß was sucht.
3. Leicht verständlich ist es auch net unbedingt - zumindest sind persönliche Antworten meist besser.
Hallo Andü.
- Jeder schickt einen dort hin.
Ist ja auch die Anlaufstelle Nr. 1. Den Großteil von PHP, den ich momentan beherrsche, habe ich mir dort angeeignet.
- Es ist sowas von unübersichtlich, wenn man bloß was sucht.
Auszug aus meiner search.ini:
[Search Engine 15]
Name=&PHP.net Function Search
URL=http://de2.php.net/manual-lookup.php?pattern=%s
Query=
Key=php
Encoding=utf-8
Is post=0
Has endseparator=0
Search Type=0
VerbText=17063
Für eine schnelle Funktionssuche verdammt praktisch. :)
- Leicht verständlich ist es auch net unbedingt - zumindest sind persönliche Antworten meist besser.
Unter nahezu jeder Funktion gibt es z. T. nützliche Userkommentare.
Helfen die dir nicht?
Gruß, Ashura
Hi Ashura!
Auszug aus meiner search.ini:
[Search Engine 15]
Name=&PHP.net Function Search
URL=http://de2.php.net/manual-lookup.php?pattern=%s
Query=
Key=php
Encoding=utf-8
Is post=0
Has endseparator=0
Search Type=0
VerbText=17063
Ich gehe mal einfach davon aus, dass du das ganze mit nem Opera nutzt. Ich hab jetztz eben mal versucht, das ganze bei mir einzubauen, aber weder die Eingabe von "php is_dir" (als Beispiel) in die Adressleiste noch ein Rechtsklick auf ein markiertes Wort und "Search with" zeigen Ergebnisse...
Woran kann das liegen?
Gruß
Martin
Hallo Martin.
Woran kann das liegen?
Ich weiß nicht, wie bewandert du mit dem Editieren der search.ini bist.
Entscheidend ist, dass die eigene Search Engine sich nahtlos in die laufende Nummer der vorhandenen einfügt. Soll sie zwischendrin erscheinen, müssen die nachfolgenden angepasst werden, da Opera die search.ini sonst als ungültig erkennt und durch die Standard-search.ini aus dem Programmhauptverzeichnis ersetzt.
Einfacher geht es natürlich mit Opsed. :)
Gruß, Ashura
hi,
Ehrlich gesagt, geht mir dieses Handbuch ziemlich aufn Nerv.
wenn du in PHP programmieren willst, solltest du dich trotzdem mit ihm anfreunden.
- Jeder schickt einen dort hin.
natürlich - weil es das handbuch ist.
- Es ist sowas von unübersichtlich, wenn man bloß was sucht.
dann suchst du falsch.
mit ein bisschen übung findet man meist sehr schnell passende funktionen.
dazu muss man sich natürlich erst mal überlegen, zu welchem "bereich" die gesuchte funktion wohl gehören könnte. und dann schaut man mal auf der einsteigsseite, was es da so alles gibt ...
- Leicht verständlich ist es auch net unbedingt - zumindest sind persönliche Antworten meist besser.
die schon erwähnten userkommentare sind oftmals hilfreich, wenn man etwas tiefer einsteigen will.
und ein wenig musst du dich schon selbst mit der materie beschäftigen, wenn du programmieren willst - ausschließlich auf "persönliche antworten" im forum zu bauen und sich darauf zu verlassen, ist kein programmieren.
gruß,
wahsaga
Morgen,
gut, hab das jetzt mit XML realisiert. Jetzt kommt das nächste Problem:
Innerhalt einiger XML-Tags habe ich HTML-Befehle, welche eigentlich zum Text mit dazu gehören. Wenn ich die XML-Datei nun mit <a href="http://www.media-palette.de/tools/xml-line/" target="_blank">XML-Line</a> einlese hab ich dass Problem, dass die Texte mit HTML-Befehlen einzeln nochmal als Array geladen werden.
Ich hab versucht das ganze Problem damit zu umgehen, dass ich beispielweise <br> zu {[br]} umwandle und dann im einmgeladenen Array zurück konvertiere. Mein Problem ist, dass ereg_replace-Suchmuster nicht das gewünschte Ergebnis bringt.
ereg_replace (("({[)(/)*(.+)(]})","<\3>",$array)
Das hat zur Folge, dass vom ersten bis zum letzten {[br]} alles ersetzt wird. Ich bräuchte sozusagen noch die Negierung, dass nicht ]} auch innerhalb der Klammern steht...
Ich wäre auch für ganz andere Vorschläge offen, solange sie gut zu verwirklichen sind.
Hi Andü,
ereg_replace (("({[)(/)*(.+)(]})","<\3>",$array)
Das hat zur Folge, dass vom ersten bis zum letzten {[br]} alles ersetzt wird. Ich bräuchte sozusagen noch die Negierung, dass nicht ]} auch innerhalb der Klammern steht...
Dieses Verhalten ist klar, da Reguläre Ausdrücke standardmäßig "gefräßig" sind, und also so viel matchen, wir irgendwie möglich.
Ohne die Backslashes zum Escapen, sieht das oben so aus: ({[)(/)*(.+)(]})
Da kannst du dir die ganzen Runden Klammern ersparen: {[/*.+]}
Außerdem ist das * unpraktisch, dafür ist ? geeignet: {[/?.+]}
Das ? steht für 0 oder 1 mal.
Das eigentliche Problem liegt aber in dem + begraben - wenn du eine PCRE-Standard Funktion verwenden würdest (also die preg_* Funktionen), dann könntest du den Modifier U (steht für ungreedy) anhängen.
Es sollte aber auch möglich sein, hinter das + noch mal ein ? zu schreiben, damit nimmst du diesem + die "Gefräßigkeit". So sollte es also gehen:
{[/?.+?]}
Natürlich jetzt noch wieder alles schön escapen ;-)
MfG, Dennis.
Gut... Jetzt ist das Problem, dass ich den multi-Array in dem die Texte gespeichert sind komplett mit der Umformung ändern will.
Das heißt für mich ich brauch 2 verschachtelte foreach-Schleifen. So wie ich die Umsetzung gemacht hab geht das aber nicht...
foreach ($array as $key1)
{
foreach ($key1 as $key2 => $value)
{
$value = preg_replace ("#{[(/?.+?)]}#","<$1>",$value);
}
$array[$key1] = $key1;
}
Habs selbst rausgefunden...
foreach ($array as $key => $value)
{
$array[$key] = preg_replace ("#{[(/?.+?)]}#","<$1>",$value);
}
Hi Andü,
$array[$key] = preg_replace ("#{[(/?.+?)]}#","<$1>",$value);
Du hast jetzt als Delimiter # gewählt - da spricht auch überhaupt nichts dagegen, doch ist dann das Escapen von / überflüssig, da dieser sonst keine spezielle Bedeutung hat.
MfG, Dennis.
Hi Andü,
foreach ($array as $key1)
Wie auch im PHP Manual => Foreach nachzulesen, bekommst du bei der Angabe von nur einer Variable in foreach, in diese die Werte geschrieben, also nicht so wie du es hier erwartest, den Schlüssel.
MfG, Dennis.
Hi Andü,
Danke, darüber hab ich auch schon nachgedacht. Gibt es dazu dann auch gleich PHP-Funktionen um die XML-Datei auszulesen?
Vor einiger Zeit habe ich mit Tom mal ein paar Funktionen geschrieben, mit denen du Daten bequem in Dateien speichern kannst, allerdings nicht in XML Struktur, sondern als serialisiertes Array. Ganz fertig ist das zwar bis jetzt noch nie geworden, aber die Basic Functions existieren schon und funktionieren auch recht gut. Es mag vielleicht nicht ganz leicht sein, da direkt durchzusteigen, aber ein Blick drauf lohnt sich doch allemal, du findest diese FlatBox hier oder hier.
MfG, Dennis.