tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
729
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von The_real_Guru
    The_real_Guru The_real_Guru ist offline Mitglied Gold
    Registriert seit
    Mar 2002
    Ort
    Schüttorf
    Beiträge
    106
    Ich möchte in einem Text einen bestimmten String durch einen include() einer anderen Seite ersetzen.
    Wie kann ich dies umsetzen ?
    Danke im Vorraus

    Guru
     

  2. #2
    Thorsten Ball Tutorials.de Gastzugang
    Hi Guru,

    ich kenn mich zwar nicht so mit PHP aus, dennoch würde ich auf die Funktion
    str_replace tippen. Aber verbessert mich wenn ich falsch liege.

    http://de.php.net/str_replace

    MrNugget
     

  3. #3
    Avatar von The_real_Guru
    The_real_Guru The_real_Guru ist offline Mitglied Gold
    Registriert seit
    Mar 2002
    Ort
    Schüttorf
    Beiträge
    106
    generell ist das richtig, doch ich habe vergessen zu sagen, dass vom String eine Zahl übergeben werden muss an den include() ...

    Beispiel:

    $string="[diagramm:#52]";
    $replace=include("sites/diagramm.php?id=52");

    Guru
    Geändert von The_real_Guru (17.08.03 um 13:02 Uhr)
     

  4. #4
    rajan rajan ist offline Mitglied Bronze
    Registriert seit
    Aug 2003
    Ort
    Österreich
    Beiträge
    30
    Hallo The_real_Guru!

    Du hast also folgenden String:
    $string="[diagramm:#52]";
    die vorletzten zwei Felder möchtest du an einen anderen String anhängen!

    Dann hast du den Befehl include...

    Der include Aufruf wird ja mit einem String aufgerufen.
    Dein String ist in dem Fall folgender:
    "sites/diagramm.php?id=52"

    Wenn du vonm ersten String einen substring mit den vorletzten zwei Feldern machst und den substring an den zweiten String anhängst und du mit dem fertigen String dann include aufrufst sollte es eigentlich keine Probleme geben!
    $string="[diagramm:#52]";
    $substring=substr($string,11,2);
    $neuerstring = "sites/diagramm.php?id=".$substring;
    $replace=include("$neuerstring ");

    Rajan
     

  5. #5
    Avatar von The_real_Guru
    The_real_Guru The_real_Guru ist offline Mitglied Gold
    Registriert seit
    Mar 2002
    Ort
    Schüttorf
    Beiträge
    106
    die Idee ist ja so schon richtig, doch das passt bei mir nicht ganz, denn:

    - deine Lösung begrenzt sich auf eine zweistellige ID des Diagramms
    - deine Lösung ist nur für den Fall funktionabel, dass der string nur einmal im Text vorkommt

    Guru
     

  6. #6
    rajan rajan ist offline Mitglied Bronze
    Registriert seit
    Aug 2003
    Ort
    Österreich
    Beiträge
    30
    Ja das war ja nur ein Vorschlag!

    Ich habe ja keine Ahnung wie du es realisierst!

    Du musst ja nur auf vorkommen im Text prüfen und den Teil dann erstetzen!

    Das ist alles!
     

  7. #7
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Das mit dem include("sites/diagram.php?id=52"); wird dir in dem Fall nichts nützen, das das Ganze sich ja lokal auf dem Server befindet und daher nur die diagram.php eingebunden wird, egal, was in der Get-Abfrage drinsteht.
    Ich würde dazu von anfang an die diagram.php includen, und darin eine Funktion schreiben, die im Endeffekt das gleiche macht, wie wenn die diagram.php?id=52 von einem externen Script aufgerufen wird. (unverständlich, ich weis).

    Die Zahl kannst du auf 2 Wege herausfiltern:
    1:
    Code :
    1
    2
    3
    
    preg_match("/#([0-9]*)\]/isU", "[diagram#52]", $zahl);
     
    $zahl = $zahl[1];
    2: Is mir etz zu umständlich, Nr 1 muss langen

    Und dann übergibst du $zahl eben der Funktion aus diagram.php
     

  8. #8
    Avatar von The_real_Guru
    The_real_Guru The_real_Guru ist offline Mitglied Gold
    Registriert seit
    Mar 2002
    Ort
    Schüttorf
    Beiträge
    106
    wie ich die zahl herausfiltere ist mir schon klar ...

    erstmal müsste mal folgendes Problem gelöst werden:

    wie schaffe ich es, dass an der stelle an der sich der String "[diagramm:#XX]" befindet die Datei sites/diagramm.php eingebunden wird ?

    Guru
     

  9. #9
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Wie gesagt, ein einfaches include reicht hier nicht.
    Wenn du die Funktion so gestaltest, dass der gewünschte String zurückgegeben wird, könntest du es so machen:
    Code :
    1
    
    $deintext = preg_replcae("/\[diagram#([0-9]*)\]/eisU", "deinefunktion('$1')", $deintext);
     

  10. #10
    rajan rajan ist offline Mitglied Bronze
    Registriert seit
    Aug 2003
    Ort
    Österreich
    Beiträge
    30
    Also The_real_Guru, wenn ich das richtig verstanden habe möchtest du in deinem Text eine bestimmte Zeichenfolge durch etwas anderes ersetzen!

    Am besten suchst du in deinem Text das erste Vorkommen dieser Zeichenfolge (z.B.: "[diagramm:#XX]") dann nimmst du den String bis zu dem Zeichen inkludierst den Teil den du haben möchstest und setzt den String mit dem Rest -deiner Zeichenfolge fort.

    Das machst du so oft, solange deine Zeichenfolge vorkommt.

    Es ist die Frage was du wirklich inkludieren möchtest!
    Ist es ein Bild oder ist ein Text oder was ist es?

    Rajan
     

  11. #11
    Avatar von The_real_Guru
    The_real_Guru The_real_Guru ist offline Mitglied Gold
    Registriert seit
    Mar 2002
    Ort
    Schüttorf
    Beiträge
    106
    ich hab's jetzt schon anders gelöst ... dennoch danke für eure anregungen !

    Guru
     

Ähnliche Themen

  1. PHP Include durch AJAX Code ersetzen?
    Von Carrear im Forum Javascript & Ajax
    Antworten: 25
    Letzter Beitrag: 06.09.09, 19:00
  2. BufferedReader durch string ersetzen
    Von sim26 im Forum Java
    Antworten: 3
    Letzter Beitrag: 12.03.07, 13:58
  3. Slashes durch Punkte ersetzen in String
    Von tinella im Forum Java
    Antworten: 7
    Letzter Beitrag: 13.03.06, 20:40
  4. Zeichen in String ersetzen (\ durch \\)
    Von kpone im Forum Borland CBuilder und VCL
    Antworten: 3
    Letzter Beitrag: 21.05.05, 10:51
  5. String durch Code ersetzen
    Von tomi im Forum PHP
    Antworten: 2
    Letzter Beitrag: 01.06.04, 15:53