Patrick: Regulärer Ausdruck

Hi Gemeinde,

ich möchte gerne eine Teil-URL, in der ein Fragezeichen enthalten ist ersetzen. Da das Fragezeichen aber als regulärer Ausdruck gilt und auch ein escaptes Fragezeichen nucht funktioniert bitte ich um Eure Mithilfe, wie ich das ganze bewerkstelligen kann...

Der Code ist folgender:
$value = eregi_replace( "news.phtml?", "index.php?file=details&", $value );

IST-Ergebnis:
Die URL wird wie folgt angezeigt http:www.xyz/index.php?file=details&?id=9

SOLL-Ergebnis:
Die gleiche URL wie zuvor angegeben, nur der letzte Teil soll ...details&id=9 heissen anstatt '?&'

Kann mir jemand helfen?

  1. Hi,

    Da das Fragezeichen aber als regulärer Ausdruck gilt und auch ein escaptes Fragezeichen nucht funktioniert

    dann hast Du falsch escapet. Bedenke, dass sich die Regular Expression innerhalb eines String befindet und somit _zusätzlich_ wie in einem String üblich escapet werden muss.

    Die URL wird wie folgt angezeigt http:www.xyz/index.php?file=details&?id=9

    Es werden die Slashes am Anfang entfernt?

    Cheatah

    --
    X-Will-Answer-Email: No
    1. Hi,

      Da das Fragezeichen aber als regulärer Ausdruck gilt und auch ein escaptes Fragezeichen nucht funktioniert

      dann hast Du falsch escapet. Bedenke, dass sich die Regular Expression innerhalb eines String befindet und somit _zusätzlich_ wie in einem String üblich escapet werden muss.

      Ich hatte das ganze so probiert: $value = eregi_replace( "news.phtml?",... aber das funzt nicht... wie escape ich denn dann richtig?

      1. Hallo Patrick,

        Ich hatte das ganze so probiert: $value = eregi_replace(
        "news.phtml?",... aber das funzt nicht... wie escape ich
        denn dann richtig?

        Denke daran, dass das ein doublequoted String ist. Dadurch wird aus "?" ein "?". Also musst du sagen, dass du einen Backslash
        meinst: "\?"

        Gruesse,
         CK