2017-10-16 7 views
1

Ceci est mon code:Je ne peux pas trouver regex pour mon codage et le code pour insérer les données à la base de données

<?php 
$curl = curl_init(); 

$url = "https://www.bukalapak.com/p/fashion-pria/jam-tangan-171/8b1k0b-jual-jam-tangan-pria-skmei-original-model-casio-water-resistant-ps024?from=old-popular-section-1"; 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 

$result = curl_exec($curl); 

preg_match_all("!\"price\":[^\s]*?,!", $result, $matches); 

print_r($matches[0]); 

curl_close($curl); 
?> 

Ceci est la sortie:

Je veux juste la nominale du prix sans price, mais je ne connais pas l'expression régulière pour cela.

Pouvez-vous m'aider à insérer ces données ($matches) dans ma base de données? J'ai essayé ceci avec XAMPP et phpMyAdmin.

+0

S'il vous plaît code postal, les erreurs, les données d'échantillons ou de sortie de texte ici comme texte brut, et non comme des images qui peuvent être difficiles à lire, ne peut pas être copier-coller pour aider à tester code ou utiliser dans les réponses, et sont hostiles à ceux qui utilisent des lecteurs d'écran. Vous pouvez modifier votre question pour ajouter le code dans le corps de votre question. Utilisez le bouton '{}' pour formater tous les blocs de code, ou indentez avec quatre espaces pour le même effet. Nous ne pouvons pas exécuter votre capture d'écran en tant que code. – tadman

+0

Peut-être avez-vous besoin d'un analyseur HTML pour extraire les données correctes. – tadman

+0

oke. je vais essayer. Thi premier à moi. merci @tadman –

Répondre

0

Essayez ceci:

preg_match_all("!\"price\":([^\s]*?),!", $result, $matches); 
print_r($matches[1]); 
+0

Une simplification: '([^ \ s] *?)' -> '(\ S *)' –

+0

Merci beaucoup :) –

+0

mais j'essaye de cette façon preg_match_all ("! \" price \ ": ([^ \ s] *?),!", $ résultat, $ correspond à); $ price ['harga'] = $ correspond à [1]; print_r ($ price ['harga']); –