kazıyın &

2 Cevap php

Tamam, ben (ben ekledim daha kolay gezinmek yapmak için string 'scrapehere' böyle bir şey ile bir sayfa var, bu sayfayı% 100 doğru html değildir ve farklı değerlere sahip iki özdeş alanları vardır. Hayır, ben bunu tamir edemez o) Ben kullanıyorum ve ben yapmamı için çok karmaşık olacağını hissediyorum cm çünkü:

scrapehere<input type="hidden" id="_someid" name="_somename" value="value"/>

Ben gizli değerini almak için çalışıyorum. Yani ben böyle bir senaryo yazdı:

<?php
$data = file_get_contents('scrape-test.html');
$regex = '/scrapehere<input type="hidden" id="_someid" name="_somename" value="(.+?)"/';
preg_match($regex,$data,$match);
var_dump($match);
echo $match[1];
?>

Ama bunun yerine benim değer script bu çıktılar:

array(2) { [0]=>  string(74) "scrapehere  string(5) "value" } value

Bunun nesi var, neden sadece değerini yazdırmak değil mi? Zaten bir yere sakladım ama benim yankı yanlış mı? Ben çıkış sadece value olmak istiyorum.

2 Cevap

var_dump($match);
echo $match[1];

Bu satırları çıkış veri de. O saklı çünkü var_dump tarayıcıda görüntülenir olmayan bir giriş etiketi, içeren bir dizinin ilk elemanını verir!

Eğer öyleyse, çıkış olmak istiyorsanız, sadece 'value', sizin kod var_dump($match); çıkarın ve echo işini yapsın.

Ben yaptım:

<?php
$data = 'scrapehere<input type="hidden" id="_someid" name="_somename" value="value"/>';
$regex = '/scrapehere<input type="hidden" id="_someid" name="_somename" value="value"/';
preg_match($regex,$data,$match);
print_r($match);
echo $match[1];
?>

Ben bu olsun:

Array
(
    [0] => scrapehere<input type="hidden" id="_someid" name="_somename" value="value"
)

Ben bekliyordum tam olarak ne. Lütfen kazıma-test.html dosyanın içeriği nedir?