ayrıştırma sorun

5 Cevap php

i bazı alanları ile küçük bir form yaşıyor, bir sayfa var abc.html söylüyorlar.

<form name="form" method="post" action="abc.html">.......................</form>

Biz formu göndermek zaman tekrar bazı veriler yayınlanmıştır ile abc.html geri gelir ve yayınlanan verileri işledikten sonra gelen sayfadaki sonuçlandı adlarını gösterir.

tüm prosedürü içinde sayfa url i orijinal url tüm verileri içeren ayrıştırma yapılabilir ama bu hangi gibi değil form.I sunulmasından sonra verileri içeren bu abc.html ayrıştırmak istediğiniz same.Now kalır sunulmasından sonra nasıl ben böyle sayfa ayrıştırmak olabilir söyle veri page.Please görüntülenen alır?

5 Cevap

Peki, sunucudan doğru HTML almak için, form verilerini içeren bir POST isteği göndermek zorunda. Sonra sunucu yanıtı ayrıştırmak.

HTML dosyasını ayrıştırma bize bunu görmeye aynıdır. Yani veriyi yazdıktan sonra render HTML sayfası veya bazı ek metin görüntülenir olduğu herhangi bir HTML elemanının sahip olacaktır. Böylece daha sonra verilerin geri kalanını okursanız, bu veya bir kap varsa size sayfa chek ayrıştırmak zaman. Yayınlanan veriler olmadan görüntülenen HTML sayfası bu ek veya konteyner olmaz.

Düzenleme: Bu soruya bak: PHP Screen Scraping and Sessions

Her şeyden önce. Sayfanız abc.php olmalıdır. Aksi takdirde herhangi bir php ayrıştırmak değildir.

Ikinci. İşte (I Hope) size yardımcı olacak bazı kodudur. Kopyala / yapıştır bu örnek ve abc.php yerleştirin

<html>
<head></head>
<body>
<?php 
if (isset($_POST['submit'])) {
  echo 'you posted the following value :'.$_POST['foo'];
}
?>
<form name="form" action="abc.php" method="post">
<input type="text" name="foo" value="" />
<input type="submit" name="submit" value="Press Me" />
</form>
</body>
</html>

Bu durum söz konusu değilse. Ve XML ayrıştırma gibi PHP'nin DOMDocument sınıfını kullanmanız gereken HTML ayrıştırmak istiyorum

$oDom = new DOMDocument();
$oDom->loadHTML($sHTMLstring);
// or 
$oDom->loadHTMLFile($sFileName);
// now you can walk the dom like
$oDomElement = $oDom->getElementByTagName('form');

http://nl.php.net/manual/en/domdocument.loadhtml.php http://nl.php.net/manual/en/domdocument.loadhtmlfile.php http://nl.php.net/manual/en/domdocument.getelementsbytagname.php

Umarım bu yardımcı olur

Ben burada bir nokta sadece URL'yi açın ve geri geliyor HTML okuyamaz olduğunu düşünüyorum. Sen sunucu tarafı formu ile etkileşim için tarayıcınızın düşeni zorunda olacak. Bunu yapmak için, form giriş veri HTTP POST için kendi kod yazmak gerekecek. Lütfen POST HTTP yanıt sonra işlenmiş sonuçlar için ayrıştırmak oluşturulan HTML, içerecektir.

Eğer web sunucusuna formu göndermek istiyorsanız Perls WWW :: motorize benzer bir şey gerekiyor (yani ilk "doldurmak"). this question bunu yapmak olası çözümler için bkz. Daha sonra, sonuç sayfasında ayrıştırmak gerekir, ve bu ağır sorunun kendisi de sitede bağlıdır: bir site farklı bir site değerlerini almak çok zor yapma, düzenli ifadeler olmayabilir kullanarak kolayca alabilirsiniz adlandırılmış öğeleri kullanabilirsiniz 'ilgilendiğiniz re