Ive burada bazı büyük yardım aldık ve ben bunu tadabilirsiniz benim problem çözme çok yakınım. Ama sıkışmış gibi görünüyor.
Ben bir yerel webserver basit bir formu kazımak ve sadece kullanıcıların yerel e-posta (yani onemyndseye @ localhost) maç satırları dönmek gerekiyor. simplehtmldom doğru form elemanı ayıklanması kolay iş yapar:
foreach($html->find('form[action*="delete"]') as $form) echo $form;
İade:
<form action="/delete" method="post">
<input type="checkbox" id="D1" name="D1" /><a href="http://www.linux.com/rss/feeds.php">
http://www.linux.com/rss/feeds.php
</a> [email:
onemyndseye@localhost (Default)
]<br />
<input type="checkbox" id="D2" name="D2" /><a href="http://www.ubuntu.com/rss.xml">
http://www.ubuntu.com/rss.xml
</a> [email:
onemyndseye@localhost (Default)
]<br />
<input type="submit" name="delete_submit" value="Delete Selected" /></form>
Ancak sorun bir sonraki adımı yapmadan yaşıyorum. 'Onemyndseye @ localhost' içeren satırları dönen ve sadece aşağıdaki döndürülür böylece çıkarmadan Hangi:
<input type="checkbox" id="D1" name="D1" /><a href="http://www.linux.com/rss/feeds.php">http://www.linux.com/rss/feeds.php</a> <br />
<input type="checkbox" id="D2" name="D2" /><a href="http://www.ubuntu.com/rss.xml">http://www.ubuntu.com/rss.xml</a> <br />
Bu sitenin harika kullanıcıları Ive bu kadar kazanılmış ve hatta dönebilirsiniz sadece link ama ben sorun dinlenme alma ... yaşıyorum sayesinde Onun yukarıda gösterildiği gibi tam <input>
etiketleri TAM iade edilmesi önemlidir kimliği ve adı değerleri daha sonra yazılan verilerin geri orijinal formuna geçirilen gerekir.
Şimdiden teşekkürler!
***** EDIT ******
Yacoby şimdi çözülmesi sayesinde yakın sorunu. Son küçük engel, bazı çöp str_ireplace itibaren geride olmasıdır. Belki de </a>
ve <br />
arasındaki tüm metni kaldırmak için daha kolay olurdu ...?
Şöyle Yacoby eklemeleri sonra çıktı:
<form action="/delete" method="post">
<input type="checkbox" id="D1" name="D1" /><a href="http://www.linux.com/rss/feeds.php">
http://www.linux.com/rss/feeds.php
</a> [email:
(Default)
]<br />
<input type="checkbox" id="D2" name="D2" /><a href="http://www.ubuntu.com/rss.xml">
http://www.ubuntu.com/rss.xml
</a> [email:
(Default)
]<br />
<input type="checkbox" id="D3" name="D3" /><a href="http://mythbuntu.org/rss.xml">
http://mythbuntu.org/rss.xml
</a> [email:
]<br />
<input type="submit" name="delete_submit" value="Delete Selected" /></form>
Dikkat [email: (Varsayılan)] ve [email:] geride kalmıştır. Ayrıca form eylemi kaldırmak ve son satırları göndermeniz gerekir ama bu bölüm ben önceki öneri toplayabilir düşünürdüm.
***** SOLVED ****
ile çözüldü sorun:
$html = file_get_html('http://localhost:9000/');
foreach($html->find('form[action*="delete"]') as $form)
if ( stripos($form->innertext, 'onemyndseye@localhost') !== false ){
$form = preg_replace('!</a>.*?<br />!s', '</a><br />', $form);
echo $form;
}
Yardımın için teşekkürler!