besseren Weg, um zu ersetzen query-string-Wert in einer angegebenen url
Okay.. also im Grunde sagen, wir haben ein link:
$url = "http://www.site.com/index.php?sub=Mawson&state=QLD&cat=4&page=2&sort=z";
Im Grunde, ich muss eine Funktion erstellen, die an die Stelle jedes Ding in der URL, zum Beispiel:
<a href="<?=$url;?>?sort=a">Sort by A-Z</a>
<a href="<?=$url;?>?sort=z">Sort by Z-A</a>
Oder, ein anderes Beispiel:
<a href="<?=$url;?>?cat=1">Category 1</a>
<a href="<?=$url;?>?cat=2">Category 2</a>
Oder, anderes Beispiel:
<a href="<?=$url;?>?page=1">1</a>
<a href="<?=$url;?>?page=2">2</a>
<a href="<?=$url;?>?page=3">3</a>
<a href="<?=$url;?>?page=4">4</a>
Also im Grunde brauchen wir eine Funktion, die das ersetzen der spezifischen $_GET
aus der URL, so dass wir nicht bekommen, ein Duplikat, solche wie: ?page=2&page=3
Having said, die, es muss intelligent sein, damit es weiß, ob der Beginn der parameter ist ein ?
oder eine &
Wir brauchen auch Sie, intelligent zu sein, so dass wir die URL in etwa so:
<a href="<?=$url;?>page=3">3</a> (without the ? - so it will detect automatically wether to use an `&` or a `?`
Ich nicht Verstand, die unterschiedlichen Variablen für jeden preg_replace für die bestimmten $_GET-Parameter, aber ich bin auf der Suche nach der beste Weg, dies zu tun.
Danke.
- Sorry kann nicht helfen, aber Sie können testen regexp hier: regexpal.com Und für die Unterstützung, php preg replace etc: regular-expressions.info/php.html Sorry, konnte nicht mehr helfen
- Nicht Parsen von HTML mit regex (stackoverflow.com/questions/1732348/...). Stattdessen analysieren von DOM (stackoverflow.com/questions/3650125/how-to-parse-html-with-php).
- Ich habe wieder tag und machen Sie die entsprechenden Titel zu der gegebenen Beschreibung und problem. Bitte überarbeiten
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie wäre es mit etwas wie das?
Nutzung...
Gut, ich hatte das gleiche problem, fand diese Frage, und am Ende, bevorzugt meine eigene Methode. Vielleicht hat es Mängel, dann bitte sagen Sie mir, was Sie sind.
Meine Lösung ist:
Hoffe, es hilft.
Verwenden, wie diese :
Ich tun, dass an diesem morgen, es scheint zu funktionieren in jedem Fall. Sie können, ändern /fügen Sie mehr als eine Abfrage mit dem array 😉
$tmp[1]
nicht leer ist, dann legen Sie die$querues_array
$url
Beispiele:$params
Beispiel:Hinweis: es versteht nicht, URLs mit Ankern (hashes) wie
http://example.com/page?foo=bar#section1
Wenn ich lese das richtig, und ich kann es nicht sein. Sie wissen, die Sie ersetzen in einer url-Zeichenfolge? Dies kann schlampig, aber...
Das ist meine Meinung, viel Glück.
Ich weiß nicht, ob dies ist, was Sie versuchen zu erreichen, aber hier geht es eh:
verbessern Scuzzy 2013 Funktion
Letzte Stücke für saubere url-query-string.
Verwendung: