php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.06.2004, 14:45  
Gast
 
Beiträge: n/a
Standard [Erledigt] RegExp: Dynamisches Ersetzen

Hi,

ich habe ein Problem, bei dem mir weder Dr.Google, noch das Forum oder Herr Koehntopp weiterhelfen konnten:

Ich möchte gerne einen Text durchsuchen und bestimmte Textstellen ersetzen. Dabei soll "variable1" mit der selbigen Variable ($variable1) ersetzt werden. "Variable2" mit dem Inhalt der Variablen $variable2.

Ich kann noch nicht absehen, wie groß das Projekt wird und möchte es daher nicht so speicherlastig gestalten (alle Variablen mit Datenbankwerten füllen und ggf einzeln ersetzen kann keine Lösung sein).

Habe schon mit ereg_replace und preg_replacer (auch preg_replace_callback) experimentiert, komme damit aber nicht weiter. Gibt es evtl eine Möglichkeit, bei der preg_replace_callback auch das gefundene Suchmuster ("//1" o.ä.) mit an die Funktion zu übergeben?

Oder ist der Lösungsweg ein ganz anderer? Freue mich über jeden laut gedachten Gedanken.

Viele Grüße aus Hannover,
Andreas

http://www.siebenbergenews.de
http://www.ageweco.de
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.06.2004, 15:14  
Gast
 
Beiträge: n/a
Standard

Code:
while (list($key,$val) = each($out)) {
   $contents = preg_replace("//i", $out{"$key"}, $contents);
}
ersetze inhalt aus durch variablen aus dem array - das ding nutze ich auch in meinen Templates - gut, einfach und schnell...
  Mit Zitat antworten
Alt 21.06.2004, 22:03  
Gast
 
Beiträge: n/a
Standard

Hi,

vielen Dank für die schnelle Antwort. Gibt es evtl auch eine Möglichkeit, mit der grep_replace_callback o.ä. direkt eine Funktion anzusteuern, die ggf erst Daten in die Variable liest?

Bei Deinem Vorschlag müsste ich immer alle Datensätze (und das können mehrere 1000 werden) einlesen und dann nach jedem Datensatz einzeln suchen. Das würde sehr hohen Serverlast bedeuten.

Viele Grüße,
Andreas
  Mit Zitat antworten
Alt 22.06.2004, 08:22  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von ballrock2
Gibt es evtl auch eine Möglichkeit, mit der grep_replace_callback o.ä. direkt eine Funktion anzusteuern, die ggf erst Daten in die Variable liest?
nicht dass ich es wüsste... man könnte es "manuel" machen - ist m.E. auch kein Grosser Aufwand. Du liest alle zu ersetzenden Variablen aus dem Template aus, packst die Inhalte der Variablen in ein Array und gehst nochmal mit dem Array über regex durch.

Zitat:
Zitat von ballrock2
Bei Deinem Vorschlag müsste ich immer alle Datensätze (und das können mehrere 1000 werden) einlesen und dann nach jedem Datensatz einzeln suchen. Das würde sehr hohen Serverlast bedeuten.
huh... mehrere 1000? warum denn so viele? warum liest du nicht die Datensätze aus, die du brauchst? Entweder verstehe ich es nicht was du meinst, oder du machst es viel umständlicher als es eigentlich ist... ;-)
  Mit Zitat antworten
Alt 20.07.2004, 11:07  
Gast
 
Beiträge: n/a
Standard

Hi,

oh sorry, habe Deinen Eintrag überlesen gehabt :-(

Ich möchte gerne dynamische Elemente in eine Seite einbinden. Dabei soll eine beliebig große Zahl an Elementen in einer Datenbank liegen.

Mit einem Befehl (z.B. ##info:1##) soll dann der Wert, der in der Datenbank unter der ID 1 steht, an diese Stelle gesetzt werden.

Am Anfang werden hier sicherlich nur einige wenige Werte stehen, aber ich würde das Projekt gerne gleich so machen, dass man eben später auch größere Projekte damit fahren kann.

Und ich würde eben gerne umgehen, dass ich wirklich immer alle Variablen einlesen muss um evtl nur einen Platzhalter zu ersetzen. So ein paar "Frickellösungen" würden mir auch einfallen, aber ich würde eben gerne eine effiziente Lösung finden - und da ist das Auslesen von Daten, die dann doch nicht gebraucht werden nicht wirklich schön (ebenso wie das vorherige durchsuchen des Textes nach den Platzhaltern und dem anschließenden gezielten Auslesen).

Vielleicht gibt es noch eine andere Lösung *hoff*

Viele Grüße,
Andreas :o)
  Mit Zitat antworten
Alt 23.07.2004, 13:39  
Gast
 
Beiträge: n/a
Standard

Zitat:
ebenso wie das vorherige durchsuchen des Textes nach den Platzhaltern
Du wirst nicht rausfinden, welche Daten Du benötigst - also welche Platzhalter im Template stehen, wenn Du es nicht danach durchsuchst! Das hat mit "Frickellösung" nix zu tun sondern nur mit nicht vorhandener künstlicher Intelligenz seitens des Servers!

Tipp: Benutze die smarty Template-Engine und bastle Dir ein plugin dafür.
http://smarty.php.net

Thomas
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dynamisches Array - Problem mit Ersetzen von einz. Werten Micro PHP Tipps 2008 10 29.01.2008 11:12
String durchsuchen und ersetzen unabhängig von Groß / KLein PHP Tipps 2006 2 09.07.2006 23:29
geschachtelten array sortieren, enter ersetzen und umlaute moose PHP Tipps 2006 5 20.04.2006 12:24
String ersetzen Benshee PHP Tipps 2006 4 02.04.2006 21:43
[Erledigt] REGEXP und Collations Datenbanken 2 14.03.2006 14:22
Problem mit der preg_replace - Ersetzen einer Zeichenkette reimondo PHP Tipps 2006 10 07.02.2006 22:36
RegExp alles mit nichts ersetzen was nicht ... cytrobic PHP Tipps 2007 5 23.12.2005 17:12
Anführungszeichen ersetzen PHP Tipps 2005-2 6 28.09.2005 20:39
unbekannten teilstring mit anfang/end-markierung ersetzen janni PHP Tipps 2005 14 29.04.2005 14:53
Bräuchte hilfe bei einem Regexp Chr!s PHP Tipps 2005 1 27.01.2005 16:39
regulärer Ausdruck zum dynamischen ersetzen in einem templat robo47 PHP Tipps 2004 3 02.11.2004 08:25
[Erledigt] includ. Text ersetzen ohne vars PHP Tipps 2004 3 13.09.2004 23:16
Reg_Exp: Deutsche Sonderzeichen (äöüß) ersetzen - aber wie? PHP-Fortgeschrittene 3 06.09.2004 17:02
templatesystem - variables ersetzen konsti PHP-Fortgeschrittene 6 07.08.2004 10:56
Reguläre Ausdrücke beim suchen und ersetzen Off-Topic Diskussionen 5 05.07.2004 15:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php regex ersetzen, regex umlaute ersetzen, smarty regex, regex ersetzen, regex platzhalter, php regex platzhalter, regex variablen, regexp variablen, http://www.php.de/php-fortgeschrittene/3408-erledigt-regexp-dynamisches-ersetzen.html, regexp variable php, regex php ersetzen, regexp ersetzen, php variablen mit regex suchen, regex dynamisch, qregexp variables, php regexp ersetzen, php ersetzen regex, php umlaute ersetzen regex, php regex dynamisch, dynamisch inhalte austauschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:54 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.