0
我想要這個代碼來檢查一個元素是否存在,然後獲取div內的記錄數。我如何才能使此RegEx正常工作?
HTML
<div id=myDiv>This table contains 5 records (3 seconds)</div>
PHP
$selector = new Zend_Dom_Query($response->getBody());
$nodes = $selector->query('#myDiv');
if (count($nodes) < 1) {
$this->setValue(0);
return;
}
$el = $nodes->current();
if (preg_match('#(\d+[\d,]*)\s+result#i', $el->nodeValue, $matches)) {
$number = str_replace(',', '', $matches[1]);
$this->setValue(intval($number));
} else {
Zend_Registry::get('log')->err(get_class($this).': Unable to match response and regex.');
$this->setValue(0);
}
現在它到達底部$這個 - >的setValue(0),所以它可以找到的元素。正則表達式肯定有問題,這就是Im無能爲力的地方。
if (preg_match('#(\d+[\d,]*)\s+result#i', $el->nodeValue, $matches)) {
我明白,這是不是一個回答你的問題,但是一個很好的資源,正則表達式和測試http://gskinner.com/RegExr/ – bretterer 2012-03-08 15:15:22
我需要一些時間和學習如何做這個。我在這裏尋找很多幫助。那工具看起來很有用。謝謝。你能推薦任何好書嗎? – madphp 2012-03-08 15:17:38
我建議任何O'Reilly系列書籍。有幾個好的。 http://www.amazon.com/Mastering-Regular-Expressions-Jeffrey-Friedl/dp/0596528124/ref=sr_1_1?ie=UTF8&qid=1331219916&sr=8-1除了袖珍手冊http://www.amazon .com/Regular-Expression-Pocket-Reference-Expressions/dp/0596514271/ref = sr_1_3?ie = UTF8&qid = 1331219916&sr = 8-3抱歉,我無法對您的問題提供更多幫助 – bretterer 2012-03-08 15:19:45