php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 29-06-2007, 11:57
sph
 Newbie
Links : Onlinestatus : sph ist offline
Registriert seit: May 2007
Beiträge: 21
sph ist zur Zeit noch ein unbeschriebenes Blatt
Standard string replace

hallo community!

ich versuche gerade eine seite für eher "unbedarfte" admins zu erstellen - das heißt ich versuche die relevanten inhalte getrennt vom rest zu speichern. die formatierung der inhalte soll auch über einfach anzuwendende, selbsterklärende tags geschehen - und dabei stoße ich nun auf ein problem.

ich schildere das mal an konkreten beispielen. die dateien, die editiert werden, sehen etwa so aus:

Code:
<titel>...beispieltitel #1...</titel>
<news>...newstext, lore ipsum...</news>
<datum>01.01.2007</datum>

<titel>...beispieltitel #2...</titel>
<news>...newstext, blah blubb...</news>
<datum>02.02.2007</datum>
diesen aufbau kann ich den entsprechenden personen sehr viel einfacher vermitteln als eine korrekte html-syntax, über sinn und zweck will ich dabei nicht streiten. ich habe es bereits geschafft die verwendeten tags in etwas sinnvolleres umzuwandeln, die verarbeitung sieht so aus:

PHP-Code:
$news_db file_get_contents('news.db');

preg_match_all("=<titel>(.*)</titel>=siU"$news_db$titel);
preg_match_all("=<news>(.*)</news>=siU"$news_db$news);
preg_match_all("=<datum>(.*)</datum>=siU"$news_db$datum);

$titel_count =count($titel[1]);
$news_listing 0;

while (
$news_listing $titel_count){

  echo 
"<span class=\"titel\">\n" $titel[1][$news_listing] . "\n</span>\n";
  echo 
"<span class=\"news\">\n" $news[1][$news_listing] . "\n</span>\n";
  echo 
"<span class=\"datum\">\n" $datum[1][$news_listing] . "\n</span>\n";

  
$news_listing++ ;


.. und nun zum komplizierten teil: ich möchte eine derartige umwandlung auch für links verwenden. das wäre einfach zu bewerkstelligen, wenn links nur einmal pro abschnitt vorkommen würden - aber das ist nicht der fall.

mein ziel wäre es den usern die folgende markierung zu ermöglichen:

Code:
... titel, newstext, was-auch-immer...

<url>http://www.google.de</url> <web>google</web>

... titel, newstext, was-auch-immer...
das verarbeitende php-script soll die beiden gegebenen strings zu etwas sinnvollem zusammenbauen. wie ich das bewerkstellige weiß ich nicht, aber das schema sollte sein:

$url: zeichenfolge zwischen <url> und </url>
$web: zeichenfolge zwischen <web> und </web>

... damit die links dann brauchbar erstellt werden können:


PHP-Code:
$link "<a href=\"" $url "\" target=\"_blank\">" $web "</a>"
wie ich das erwähnte schema umsetzen köntne ist mir schleierhaft - ich hatte mehr oder minder zufällig eine lösung gefunden die es mir erlaubt hat die umgewandelten links mit einer while-schleife auszugeben, nicht aber sie an den entsprechenden positionen der quelldatei zu setzen bzw. die userfreundlichen tags damit zu ersetzen.

ich strebe also eine methode an bei der beliebig viele links links in beliebig vielen feldern ("titel", "news" und "datum" sind nur beispiele, es werden wohl noch weitere folgen) an beliebigen positionen mit der vereinfachten darstellung gespeichert werden, dann aber entsprechend korrekt umgewandelt und ausgegeben werden.

ich hoffe meine erklärung ist halbwegs verständlich, und natürlich darauf hier eine lösung für mein vorhaben zu finden.

danke für die geduld und liebe grüße!


ps: ich bin relativ neu im php-land, komplexe funktionen sind mir noch fremd. klassen und function () ebenfalls, so leid es mir tut. nicht zuletzt deswegen wäre mir eine nachvollziehbare, schlichte methode sehr willkommen, doch ich lasse mich auch gerne eines besseren belehren.
Mit Zitat antworten
  #2 (permalink)  
Alt 29-06-2007, 12:03
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bevor man das rad neuerfindet und sich in das stringgemetzel vertieft:

produziere vollständig validen xml code (wenn er das nicht schon ist), den kann man mit dom sehr einfach und flexibel auseinander nehmen (in html tags umwandeln, etc.). damit kannst du den "unbedarften admins" xml-bearbeitungswerkzeuge in die hand drücken (es gibt ja viele), die die fehleranzahl stark reduzieren.

oder

schau dir bbcode an, die klasse müsste flexibel genug sein, solche ersetzungen vorzunehmen

oder

schau dir wikisyntax an - sie ist oft viel leserlicher und einfacher für endnutzer, als xml-tags.

p.s. <url> und <web> sind so keine gute idee. besser: attribut. aber dann merkst du, dass du html neu erfindest.
Mit Zitat antworten
  #3 (permalink)  
Alt 29-06-2007, 14:00
sph
 Newbie
Links : Onlinestatus : sph ist offline
Registriert seit: May 2007
Beiträge: 21
sph ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo penizillin!

ich verstehe was du meinst, würde mein vorhaben aber doch lieber auf meine art lösen. vielleicht hätte ich den verwendungszweck genauer beschreiben sollen - denn für mein vorhaben brauche ich weder zusätzliche klassen noch eine valide xml-struktur.

die webseite wird nur spärlich aktualisiert, von menschen die mit web-techniken nichts (!) am hut haben. allein die erwähnung von "xml" würde reichen um jegliches interesse völlig verfliegen zu lassen.

ich habe mich bereiterklärt die kleine webpräsenz zu hosten und habe die vergangenen jahre selbst die paar dürftigen änderungen vorgenommen, ganz ohne flatfiles und php - "von hand" quasi.

nun möchte ich jedoch den besitzern der seite ermöglichen selbst einfluss auf die inhalte zu nehmen (und einige anrufe wegen belangloser kleinigkeiten vermeiden):
es wird eine möglichkeit geben sich einzuloggen, danach wird im textfenster die entsprechende datei ausgegeben, sie kann dort verändert und gespeichert werden - fertig. das war schon alles, natürlich kommen noch andere funktionen dazu, die hierfür aber nicht von bedeutung sind.

um die ausgabe im textfenster so übersichtlich und verständlich wie möglich zu halten möchte ich besagte tags verwenden, die umwandlung und einbindung der eingegebenen daten kann ich dann fern vom user-zugriff handhaben.


nachteile:
- kein "norm"-verfahren
- ungeeignet für umfangreichere inhalte

vorteile:
- sehr klare, individuell angepasste inhalts-struktur
- sehr simples editieren der inhalte direkt auf der webseite


vieleicht wird nun verständlicher warum ich auf meine tags und meine methode bestehe, vielleicht auch nicht - ich möchte jedoch bitten die diskussion um das für und wieder, was man warum sollte oder auch nicht, darauf beruhen zu lassen.

wie gesagt, ich bin neu im php-land, habe eine für mich und alle beteiligten akzeptable lösund gefunden und weiß dass sie umsetzbar ist - ich weiß nur nicht wie. mit wachsendem wissensstand werde ich, sofern die projekte es erfordern, in zukunft vielleicht ja auch auf die genannten vorschläge zurückgreifen.


nichts desto trotz vielen dank für deine anregungen,

schönes wochenende noch!


p.s:

Zitat:
p.s. <url> und <web> sind so keine gute idee.
kann man mich aufklären warum die verwendung dieser tags für rein interne zwecke, die so unter keinen umständen irgendwie in der ausgabe erscheinen, problematisch sein sollen?

ich glaube zu wissen dass es dem verarbeitenden script relativ egal ist welche kennung ich für anfang und ende eines einzugrenzenden bereiches wähle, ob es nun <curry> oder <wurst> ist, aber vielleicht liege ich damit ja falsch.
Mit Zitat antworten
  #4 (permalink)  
Alt 29-06-2007, 14:07
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn ein kunde wenig ahnung hat, gib ihm einen wysiwyg editor (z.b. fck). für solche "miniprojekte" kann man ohne weiteres wordpress oder ähnliches nehmen.
Zitat:
kann man mich aufklären warum die verwendung dieser tags für rein interne zwecke, die so unter keinen umständen irgendwie in der ausgabe erscheinen, problematisch sein sollen?
deine kunden sind nicht die hellsten? dann musst du damit rechnen, fälle wie
Code:
<web>...</web> foo <url>...</url>
oder
Code:
<web>...</web><web>...</web>
aber auch
Code:
<web>...<url>...</url></web>
richtig abzuarbeiten. was schätzst du denn, warum es in html "a href" gibt, und nicht etwa "web" und "url"? der konsistenz halber.

überleg's dir.
Mit Zitat antworten
  #5 (permalink)  
Alt 29-06-2007, 14:33
sph
 Newbie
Links : Onlinestatus : sph ist offline
Registriert seit: May 2007
Beiträge: 21
sph ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
wenn ein kunde wenig ahnung hat, gib ihm einen wysiwyg editor (z.b. fck). für solche "miniprojekte" kann man ohne weiteres wordpress oder ähnliches nehmen.
sicher, könnte man. oder auch ein kleines schlichtes cms. oder, oder, oder...

doch jedes "ich bau mir ganz leicht eine webpage"-tool umfasst ein zig-faches der funktionen die benötigt werden, was weder zur vereinfachung noch zum leichten verständis beiträgt.

ganz davon abgesehen ist es mir gänzlich zuwider dass die genannten möglichkeiten zum editieren diverser inhalte an aufwand und verwendeten ressourcen nicht im geringsten in einem akzeptablen verhältnis zum gewünschten ergebnis stehen - andernfalls könnte ich auch joomla oder typo3 verwenden und die arme verschränken.

habe ich erwähnt dass die in frage kommenden benutzer teils auch nur über eine modem-verbindung verfügen? und wir reden hier nicht von isdn. die ausgegebenen seiten sollen nach möglichkeit auch damit akzeptabel schnell laden, was bei diversen umfangreicheren installationen nicht unbedingt der fall ist.


Zitat:
deine kunden sind nicht die hellsten?
das habe ich nicht gesagt - sie sind nur desinteressiert und nicht besonders angetan von computern. die webpräsenz stellt eine informationsplattform für ein lokales, wiederkehrendes event dar, die leute sind eher mit organisatorischen dingen beschäftigt als sich etwas um webtechniken zu scheren.

was zählt ist nur DASS die inhalte entsprechend simpel gehandhabt werden, nicht WIE.

die 'kunden' sind jedoch 'lernfähig' - wenn ich die vorgabe mache "dass muss so und so aussehen", dann werden meine worte berücksichtigt und das begreifen und richtige anwenden von 3 bis 10 völlig simplen "befehlen" ist durchaus im rahmen des möglichen - eine kurze erklärung der tags und der syntax wird selbstredend unter der textbox ausgegeben, für den fall dass nach monatelanger pause doch ein paar lücken entstehen.

Zitat:
dann musst du damit rechnen, fälle wie [...] richtig abzuarbeiten.
1: nein, siehe oben.

2 (der unwarscheinlichste fall tritt immer ein): ein falscher aufbau der content-datei wird nur zu fehlermeldungen führen - ich überlege noch ob ich die routine "vorschau" -> "speichern" einbauen soll oder ob der benutzer die falsche ausgabe selbst erkennt und daraufhin die inhalte überprüfen wird, ich tippe jedoch auf die vorschau...


ich verstehe jeden deiner einwände sehr gut, bin allerdings nach wie vor auf der suche nach einem script...


nachtrag

ich lese mich gerade in die bbcodes-klasse ein... mir scheint als müsste ich das bestehende konstrukt verwerfen und anders an die sache herangehen, auch wenn ich das eigentlich vermeiden wollte.

nach wie vor wäre mir eine 08/15-lösung willkommen, danke für die anregungen & meinungen!


nachtrag2

... manchmal bringt "drüber schlafen" mehr als jedes tutorial - ich glaube ich weiß wo ich falsch angesetzt habe, ich bitte darum die störung zu entschuldigen

Geändert von sph (29-06-2007 um 16:07 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:41 Uhr.