4 Stimmen

PHP-Äquivalent zur JavaScript-String-Split-Methode

Ich arbeite damit auf JavaScript:

    var sURL = "http://itunes.apple.com/us/app/accenture-application-for/id415321306?uo=2&mt=8&uo=2";
    splitURL = sURL.split('/');
    var appID = splitURL[splitURL.length - 1].match(/[0-9]*[0-9]/)[0];
    document.write('<br /><strong>Link Lookup:</strong> <a href="http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/wa/wsLookup?id=' + appID + '&country=es" >Lookup</a><br />');

Dieses Skript nimmt die numerische ID und gibt mir 415321306.

Also meine Frage ist, wie kann ich das Gleiche tun, aber mit PHP.

Mit freundlichen Grüßen.

12voto

Surreal Dreams Punkte 25265

Verwenden Sie die Funktion explode() von PHP anstelle von .split().

$splitURL = explode('/', $sURL);  //PHP

Verwenden Sie preg_match() anstelle von .match().

$appID = preg_match("[0-9]*[0-9]", $splitURL);

Es ist mir nicht ganz klar, was Sie mit der Länge des Strings tun, aber Sie können Teilstrings in PHP mit substr() erhalten.

0 Stimmen

Dein $appID wird eine Ganzzahl sein, die entweder 0 oder 1 ist preg_match

0 Stimmen

Vielen Dank, @jnpcl - Ich habe den Tippfehler behoben. @kjy112, ich habe gerade das Regex wiederholt, das @m4k00 verwendet hat.

5voto

drudge Punkte 33139

Wer braucht Regex?

3voto

dynamic Punkte 45516
preg_match("/([0-9]+)/",$url,$matches);
print_r($matches);

1voto

Arve Punkte 7978

1voto

JavaScript split kann auch verwendet werden, um einen String in ein Zeichenarray (leeres Argument) umzuwandeln und das erste Argument kann ein RegExp sein.

/*

Beispiel 1

Dies kann mit der PHP-Funktion str_split() gemacht werden;

*/

var str = "Hello World!"

str.split('');

H,e,l,l,o, ,W,o,r,l,d,!

/*

Beispiel 1

Dies kann mit der PHP-Funktion preg_split() gemacht werden;

*/

var str = " \u00a0\n\r\t\f\u000b\u200b";

str.split('');

, , , , ,,,

Von Ecma-262 Gibt ein Array-Objekt zurück, in das Teilstrings des Ergebnisses gespeichert wurden, nachdem dieses Objekt in einen String umgewandelt wurde. Die Teilstrings werden durch das Suchen von links nach rechts nach Vorkommen des Trennzeichens bestimmt; diese Vorkommen sind kein Teil eines Teilstrings im zurückgegebenen Array, dienen jedoch zur Aufteilung des String-Werts. Der Wert des Trennzeichens kann ein String beliebiger Länge sein oder ein RegExp-Objekt (d.h. ein Objekt, dessen interne [[Class]]-Eigenschaft "RegExp" ist; siehe 15.10). Der Wert des Trennzeichens kann ein leerer String, ein leerer regulärer Ausdruck oder ein regulärer Ausdruck sein, der einen leeren String abgleichen kann. In diesem Fall passt das Trennzeichen nicht zum leeren Teilstring am Anfang oder Ende des Eingabestrings, auch passt es nicht zum leeren Teilstring am Ende des vorherigen Trennzeichen-Treffers. (Zum Beispiel, wenn das Trennzeichen der leere String ist, wird der String in einzelne Zeichen aufgeteilt; die Länge des Ergebnisarrays entspricht der Länge des Strings, und jeder Teilstring enthält ein Zeichen.) Wenn das Trennzeichen ein regulärer Ausdruck ist, wird nur der erste Treffer an einer bestimmten Position des Strings berücksichtigt, auch wenn Backtracking zu einem Treffer mit einem nicht-leeren Teilstring an dieser Position führen könnte. (Zum Beispiel produziert "ab".split(/a*?/) das Array ["a","b"], während "ab".split(/a*/) das Array ["","b"] ergibt.) Wenn das aktuelle Objekt leer ist (oder sich in einen leeren String umwandelt), hängt das Ergebnis davon ab, ob das Trennzeichen dem leeren String entsprechen kann. Wenn dies der Fall ist, enthält das Ergebnisarray keine Elemente. Andernfalls enthält das Ergebnisarray ein Element, das der leere String ist. Wenn das Trennzeichen einen regulären Ausdruck enthält, der Erfassungsklammern enthält, dann werden jedes Mal, wenn das Trennzeichen übereinstimmt, die Ergebnisse (einschließlich etwaiger undefinierter Ergebnisse) der Erfassungsklammern in das Ausgabearray eingeschnitten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X