kills Geschrieben 16. Oktober 2005 Teilen Geschrieben 16. Oktober 2005 Hallo zusammen, ich suche gerade eine Möglichkeit aus einer URL einen Parameter herauszuschneiden. z.b. $url = "http://forum.fachinformatiker.de/newthread.php?do=newthread&f=31"; echo strip_url_param( $url, 'do'); // Ausgabe: http://forum.fachinformatiker.de/newthread.php?f=31 [/PHP] Nun hab ich mir das ganze mit ein paar paar aufrufen von substr, strpos etc zusammengeschnippselt, aber da ich diese Funktion recht oft verwende, würde es mich interessieren, ob es nicht eine performantere Lösung dafür gibt. Bin dankbar für jeden Tipp! Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beebof Geschrieben 16. Oktober 2005 Teilen Geschrieben 16. Oktober 2005 Ich hab sowas in der Art mal mit nem preg_replace gelöst: $datinhalt=preg_replace("/([&\?]PHPSESSID=)([^&^\"]+)/i","",$datinhalt); [/php] Bei mir wurde aus einer HTML-Quelldatei in den Links die PHPSESSID entfernt. Vielleicht hilfts dir ja. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 17. Oktober 2005 Autor Teilen Geschrieben 17. Oktober 2005 Hi, danke für den Tipp! Nun ist nur noch die Frage, wenn ich immer nur auf Strings bis max 150 Zeichen losgehe, ob da nicht diese SUBSTR geschichte performanter ist... Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 17. Oktober 2005 Teilen Geschrieben 17. Oktober 2005 performance bei stringoperationen? bitte mal die differenz [am besten in ns] mitteilen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 18. Oktober 2005 Teilen Geschrieben 18. Oktober 2005 ich suche gerade eine Möglichkeit aus einer URL einen Parameter herauszuschneiden. Ich hab hier eine funktion geschrieben, die sowas ähnliches tut. Damit kann man eine URL aufbauen und eigene Parameter daranhängen, Parameter ersetzen oder entfernen. Es wird immer dieselbe Seite aufgerufen, nur mit anderen Parametern (index.php?bla=blubb): // function getURLString($arReplace) // liefert einen Parameter-String für die URL-Übergabe // und ersetzt dabei die in einem Array übergebenen Werte // Der überge Parameter $arReplace ist ein assoziatives Array // der Form (Parameter => Wert) function getURLString($arReplace, $resetParams = False) { $get = $_GET; // Dateiname aus URL extrahieren $index_str = $_SERVER["PHP_SELF"]; $index_pos = strpos($index_str, "/", 1); if ($index_pos!==false) { $index_str = substr($_SERVER["PHP_SELF"], 0, $index_pos); } $result = $index_str."?"; // Parameter nicht übernehmen, nur Parameter aus $arReplace nutzen if ($resetParams) { foreach($arReplace as $ip_key => $ip_val) $result .= $ip_key."=".$ip_val."&"; } else // alle vorhandenen Parameter weiter nutzen { // übergebene Parameter setzen und evtl. ersetzen if (isset($arReplace)) { foreach($arReplace as $ip_key => $ip_val) $_GET[$ip_key] = $ip_val; } // String aufbauen foreach($_GET as $ip_key => $ip_val) // Parameter ohne value nicht weiter nutzen if ($ip_val!="") $result .= $ip_key."=".$ip_val."&"; } $_GET = $get; return $result; } [/php] Das funktioniert hier auch so wie es soll. Erstmal werden alle Parameter belassen wie sie sind und nur evtl. neue drangehängt. Wenn resetParams==True ist, werden nur evtl. neue drangehängt. Werden Parameter ins Array $arReplace mit leeren Value geschrieben, wird dieser Parameter gelöscht. getURLString(null) liefert eine URL ohne Parameter. Weiss nicht, ob das das ist, was du suchst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.