preg_match_all for 获取所有匹配值

问题描述:

这里是字符串。preg_match_all for <option></option>获取所有匹配值

$string = <option class="abcd" value="1.5">Some Text with White Spaces</option> 

我想用preg_match_all或类似的东西来获取所有匹配的变量(1.5 & Some Text with White Spaces)。我很久以前就这样做了,但现在我不记得了。希望你能帮助...

+1

你有没有考虑过使用DOM解析器? – 2010-12-15 12:59:54

+1

*(相关)* [最佳方法来解析HTML](http://*.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) – Gordon 2010-12-15 13:02:47

+0

@皮卡我不是很熟悉那。无论如何,我想我有一个解决方案... – pnm123 2010-12-15 13:13:33

我不能回答堆栈溢出HTML &正则表达式的问题没有提及请使用parser

但是,如果你真的热衷于正则表达式,你可以在下面看到。


如果你的琴弦的样子,那么你可以使用...

preg_match_all('/<option\sclass="[^"]*"\svalue="([^"]*)">([^>]*)<\/option>/', $string, $matches); 

var_dump($matches); 

$matches[1]将有value属性和$matches[2]将有文本节点。