AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Text nach Strings durchsuchen und sortieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Text nach Strings durchsuchen und sortieren

Ein Thema von Wuaegner · begonnen am 6. Jul 2006 · letzter Beitrag vom 6. Jul 2006
Antwort Antwort
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#1

[PHP] Text nach Strings durchsuchen und sortieren

  Alt 6. Jul 2006, 11:12
Hallo,

Mir fällt bis jetzt einfach keine gute Lösung für mein relativ simples Problem ein:
Ich habe einen HTML-Text in dem sich keywords befinden, die ersetzt werden sollen.
Den Text durch den sie ersetzt werden sollen, liefer eine Funktion ersetze($type, $nr){}.
Jenachdem welcher Typ mein Keywort ist, wird er durch einen anderen Text ersetzt. Zusätzlich enthält dieser Text die $nr, diese gibt an, das wievielte Keywort es im Text ist.

Zur Verdeutlichung ein Beispiel:

Code:
<html>
  .
  .
 ( Dieses Keywort soll nachher "ersetze()" aufrufen mit $type=editor, $nr=1)
  .
  .
 ( "        " ersetze("no_editor",2) )
  .
  .
     ( "        " ersetze("editor",3) )

</html>
Hoffe es ist klar geworden... weiß jemand einen Lösungsansatz?
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#2

Re: [PHP] Text nach Strings durchsuchen und sortieren

  Alt 6. Jul 2006, 12:05
nein richtig klar ist es mir nicht geworden aber wenn es um einfaches erstezen geht sollte diese funktion helfen

$ergebnisstext = str_replace($search, $replace, $zuersetzendertext); wobei bei mir search und replace zwei arrays sind in denen der zu ersetzende text steht ein beispiel aus meinem smilie code waere:

Delphi-Quellcode:
$search = array(':D',
                ':P',
      ':)',
      ';)')
Delphi-Quellcode:
$replace = array('[img]smilies/biggrin.gif[/img]',
                 '[img]smilies/razz.gif[/img]',
       '[img]smilies/smile.gif[/img]',
       '[img]smilies/wink.gif[/img]')
tja statt smilie text wird jetzt das smilie bild angezeigt
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: [PHP] Text nach Strings durchsuchen und sortieren

  Alt 6. Jul 2006, 12:09
OK, dann werde ich versuchen es noch klarer zu beschreiben:

Das Problem an der Sache ist, der funktion ersetze() die richtige $nr mitzugeben, also die nr des Keywords.

Habe gerade eine Idee.. probier das mal schnell aus, wenns klappt post ich es noch.
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#4

Re: [PHP] Text nach Strings durchsuchen und sortieren

  Alt 6. Jul 2006, 12:18
Hallo Wuaegner

ich hab dich, glaub ich, nicht 100%ig verstanden(insbesondere das mit den Nummern), aber das sollte sich mit RegExps machen lassen. Ungefähr so(ungetestet, unvollständig, nur Ansatz):

Code:
  preg_match('//Ui', $html_str, $matches);
  $item = $matches[1];
  preg_replace('//Ui', ersetze($item)));
Zur $nr ggf. das ganze in ne Schleife packen und mitzählen...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: [PHP] Text nach Strings durchsuchen und sortieren

  Alt 6. Jul 2006, 12:54
Hier bietet sich die Callback-Variante eher an:

Code:
[b]function[/b] replace_textfeld ([color=#df0000]$match[/color]) {
  [b]global[/b] [color=#df0000]$tf_zaehler[/color];
  [color=#df0000]$tf_zaehler[/color] ++;
  [b]return[/b] ersetze($match[1], [color=#df0000]$tf_zaehler[/color]);
}

[color=#df0000]$html[/color] = [color=#009900]/* irgendwo den HTML-Content herholen */[/color];

[color=#df0000]$tf_zaehler[/color] = 0;

[b]preg_replace_callback[/b]([color=#1f00ff]"//Ui"[/color], [color=#1f00ff]"replace_textfeld"[/color], [color=#df0000]$html[/color]);
Wenn allerdings die Felder statisch und bekannt sind würde ich es persönlich vom Konzept aber anders angehn.
  Mit Zitat antworten Zitat
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: [PHP] Text nach Strings durchsuchen und sortieren

  Alt 6. Jul 2006, 13:33
Zitat:
Wenn allerdings die Felder statisch und bekannt sind würde ich es persönlich vom Konzept aber anders angehn
Die textfeldkeywords werden durch diese Html-tags ersetzt:
Code:
<? echo '<textarea class="'.$type.'" name="textfeld'.$nr.'" rows="'.$rows.'" cols="'.$cols.'">
wobei ich nun die keywords so aufbauen wollte:
das steht nachher in der html-seite, und wird von mir dann ausgelesen ( $type wäre hier dann "noeditor", textarea $rows wären 15 und $cols ebenfalls 15). Die $nr würde ich dann bei der Durchsuchung des Textes vergeben.

Jemand einen besseren Vorschlag?
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: [PHP] Text nach Strings durchsuchen und sortieren

  Alt 6. Jul 2006, 14:33
Kommt zunächst einmal drauf an in welchem Kontext die Aufgabe zu sehn ist. Wenn du z.B. genau vorher weisst wieviele Felder auf der Seite sind und was deren Inhalt wird kämst du mit einem Template-Parser und einem action-Handler für das Formular günstiger. Wenn du vorher nicht weisst, wieviele Felder es werden, woher weisst du dann, welche Dimension die haben werden?

Zu deinem bisherigen Vorgehn (incl. deiner Modifikation)
Die Syntax find ich lesbarer:

e: editor oder noeditor
c: für cols
r: für rows

Die entsprechende Reg-Expression für mein Callback wäre:
Code:
"//Ui"
Die entsprechenden Werte in der Callback-Funktion:
e -> $match[1]
c -> $match[2]
r -> $match[3]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz