开发者

Regular Expressions - Match inside a Match

I am trying to find a way to match something inside a match. I am still reading oreilly's开发者_运维百科 book on regular expressions, but this is something I have to do now:

I need to get all the values from the inputs inside a form. The page contains multiple forms, so normally I would do something similar to this:

type="checkbox" value="([^"])"

But now I need to target all the checkbox values inside the specific form. Using preg_match by the way.

p.s. I know I could get the form with preg_match first, and the match inside that result, but I'm wondering how to do this in regex.


preg_match("|type=\"checkbox\" value=\"(.*?)\"|");


You really shouldn't be using regular expressions to parse HTML. Look into the HTML DOM Parser. Using this your code becomes very simple.

$html = file_get_html('http://www.website.com/');

$form = $html->find('#formId')

foreach($form->find('input[type=checkbox]') as $element) {
       //Do what you need to do
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜