+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Teil in Zeichenfolge ersetzen lassen.

  1. #1
    Kommt häufiger vorbei
    Registriert seit
    16.10.2007
    Ort
    Leonberg
    Beiträge
    376
    Bedankte sich
    62
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard Teil in Zeichenfolge ersetzen lassen.

    Hallo zusammen,

    ich möchte in meinem Quelltext einen Teil durch eine Funktion ersetzen lassen.

    In meinem Quelltext steht folgendes:
    <a href="/web/49d841196fbc7ce4d5194c59d7cfc956?newsid=3153355">< img src=.......

    Nun möchte ich alles zwischen /web/ und ?newsid ersetzen lassen.
    Die Zeichenkette dazwischen ist aber leider eine SessionID...diese ändert sich also ständig.
    Deswegen müsste da irgendwie ein Platzhalter eingebaut werden.

    Hat mir jemand einen Tip, wie das gehen könnte?

    Gruß
    matthias
    Geändert von Hagen_Fenris (14.07.2010 um 11:39 Uhr)

  2. #2
    Verbringt hier viel Zeit
    Registriert seit
    24.01.2006
    Beiträge
    594
    Bedankte sich
    108
    Erhielt 359 Danksagungen
    in 203 Beiträgen

    Standard

    Das kannst du z.B. mit preg_replace lösen.

  3. #3
    Kommt häufiger vorbei
    Registriert seit
    16.10.2007
    Ort
    Leonberg
    Beiträge
    376
    Bedankte sich
    62
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard


    Hab mir das jetzt mal angesehen....
    Aber wo wirklich zurecht komm ich damit momentan noch nicht.

    Der Quelltext
    .....<a href="/web/49d841196fbc7ce4d5194c59d7cfc956?newsid=3153355">< img src=.......

    Muss später wie folgt aussehen:
    ....<a href="http://www.xxxx.de/news.html?domain=www.yyyy.de&newsid=3153355">....

    Nehmen wir mal an, der Quelltext steht in $html.
    Wie müsste dann den dann aussehen????

    Gruß
    matthias

  4. #4
    Kommt häufiger vorbei Avatar von Robstar
    Registriert seit
    09.01.2005
    Ort
    Wetzlar, Hessen
    Beiträge
    325
    Bedankte sich
    25
    Erhielt 57 Danksagungen
    in 50 Beiträgen

    Standard

    Vielleicht kannst Du noch mal ins Detail gehen. Was bedeutet denn Quelltext? Ich würde denken, dass Du den wirklichen Quelltext der Seite meinst... Im Quelltext ist die Seite aber bereits ausgegeben, dann kannst Du da nichts mehr ändern.

    Du musst Deinen Link vor der Ausgabe ändern. Wie wird denn Dein Quelltext generiert? Via PHP? Ist das ein HTML Dokument? PREG_REPLACE() ist der richtige Ansatz..

    Beschreib doch mal genauer, was du vorhast!
    Grüße Robstar

    Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.

  5. #5
    Kommt häufiger vorbei
    Registriert seit
    16.10.2007
    Ort
    Leonberg
    Beiträge
    376
    Bedankte sich
    62
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Guten Morgen erstmal,

    ich hole mir über ein Content_Grabber-Modul den Inhalt einer fremden Seite (die Erlaubnis dafür hab ich!!!).
    Auf der Ursprungsseite wird aber immer diese SessionID an die Links angehängt, die ich natürlich nicht gebrauchen kann.
    Deshalb muss ich die kompletten Links entsprechend ersetzen lassen.

    Der Quelltext der fremden Seite wird dabei über ein php-Skript eingelesen und dann wieder in eine Datei ausgegeben, welche letztendlich angezeigt wird.

    Ich hab aber leider keine Ahnung, wie das mit preg_replace funktioniert?!

    Gruß
    matthias

  6. #6
    Kommt häufiger vorbei Avatar von Robstar
    Registriert seit
    09.01.2005
    Ort
    Wetzlar, Hessen
    Beiträge
    325
    Bedankte sich
    25
    Erhielt 57 Danksagungen
    in 50 Beiträgen

    Standard

    Das sollte so klappen

    <?php
    $html = 'Irgendwelcher Text HTML oder sonstwas <a href="/web/49d841196fbc7ce4d5194c59d7cfc956?newsid=3153355"> Irgendwelcher Text HTML oder sonstwas';
    $html = preg_replace("/<a href=\"(\S+)?newsid=(\S+)\">/", "<a href=\"http://www.xxxx.de/news.html?domain=www.yyyy.de&newsid=$2\" target=\"_blank\">", $html) ;
    ?>
    Grüße Robstar

    Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.

  7. Erhielt Danksagungen von:


  8. #7
    Kommt häufiger vorbei
    Registriert seit
    16.10.2007
    Ort
    Leonberg
    Beiträge
    376
    Bedankte sich
    62
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Es funktioniert.
    Aber könntest Du das mal erklären.
    Ich muss das gleiche jetzt nämlich noch mit 2 anderen Stellen machen.

    <img src="/web/data/eo/news/2832408/thumb.jpg" alt="">
    ^^ Da muss ich das /web ersetzen

    <a href="/news.html;jsessionid=7B293A11A4A8C12CACA47D26B1C7B A5D?newsid=2832550" class="textLink newsLink">
    ^^ und hier muss auch wieder die sessionID raus.

    Ich versteh jetzt allerdings im Moment noch nicht, warum
    <a href="/web/49d841196fbc7ce4d5194c59d7cfc956?newsid=3153355">
    sauber in
    <a href="http://www.xxxx.de/news.html?domain=www.yyyy.de&newsid=3153355">
    geändert wird, bei
    <a href="/news.html;jsessionid=7B293A11A4A8C12CACA47D26B1C7B A5D?newsid=2832550" class="textLink newsLink">
    aber garnichts passiert????!!!!


    Vielen Dank für Deine Hilfe!!!!



    Nach langem experimentieren hab ichs nun hinbekommen....so ganz klar , wieso und warum es nun funktioniert ist es mir aber immernoch nicht...
    Geändert von Hagen_Fenris (14.07.2010 um 10:35 Uhr)

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein