Non del tutto sicuro del motivo per cui si desidera eseguire questa operazione nel modo più rigido e regex tramite HTML quando c'è una chiamata perfettamente funzionante che restituisce JSON. Sebbene la risposta originale sia corretta e risponda direttamente alla domanda OP, questo fornisce un modo molto più facile ed efficiente di ottenere il valore di mercato di un articolo.
GET:
http://steamcommunity.com/market/priceoverview/?currency=3&appid=730&market_hash_name=StatTrak%E2%84%A2%20P250%20%7C%20Steel%20Disruption%20%28Factory%20New%29
JSON Risposta:
{
"success": true,
"lowest_price": "1,43€ ",
"volume": "562",
"median_price": "1,60€ "
}
definizioni di risposta:
success
: valore booleano , true se la chiamata ha avuto successo o false se qualcosa è andato storto o non ci sono annunci per questo articolo sul mercato Steam.
lowest_price
: valore stringa con simbolo di valuta [pre/ap] sospeso in base ai parametri di query specificati. Vedi sotto per alcuni parametri aggiuntivi.
volume
: valore intero restituito come stringa (?) - il numero totale di questo articolo specifico che è stato venduto/acquistato.
median_price
: valore stringa con il simbolo di valuta [pre/ap] sospeso. Il prezzo medio al quale l'oggetto è stato venduto. Vedere il grafico dell'articolo Steam marketplace per una migliore comprensione di come viene calcolata la mediana.
Parametri query:
appid
: L'unico (definito staticamente) ID applicazione Steam del gioco/applicazione, nel nostro caso 730 per Counter-Strike: Global Offensive. Vedi il Wiki di sviluppo di Valve per un elenco di altri appid, sebbene questo elenco molto probabilmente sarà sempre aggiornato poiché le nuove app vengono aggiunte frequentemente alla loro piattaforma.
market_hash_name
: Il nome della voce di essere interrogato contro con l'esterno incluso, il recupero di questi nomi si possono trovare quando si interroga contro un inventario degli utenti, ma questa è tutta un'altra chiamata API.
currency
: Un valore intero; il valore e il formato della valuta per restituire i valori di mercato. Dovrai modificare e giocare con questi numeri perché non posso fornire troppi dettagli qui. In genere, utilizzo l'USD come prezzo globale e utilizzo la mia valuta API per tradurlo in altre valute.
Il fatto che stai usando '. *> (. *)' Nella tua espressione invece di uno schema non-goloso e dimenticando il modificatore 's'. È chiaro che devi smettere di usare espressioni regolari e usare un [parser html robusto] (http://stackoverflow.com/q/3577641) – HamZa
Non dovresti usare espressioni regolari per questa attività, prova invece ad usare il DOM di PHP: http://stackoverflow.com/questions/3627489/php-parse-html-code – Robin
Ho provato il DOM del PHP ma non posso usarlo perché ogni elemento della lista ha nell'attributo l'attributo title, che è diverso per ogni oggetto e il titolo è il prezzo. Quindi non posso saperlo. –