我想使用正则表达式拉出<select>
选项值,但失败。PHP正则表达式拉出<select>的选项值
这是我的代码:
preg_match_all('/value=[\"\']([^\"\' ]+)/i', $content, $value);
我想使用正则表达式拉出<select>
选项值,但失败。PHP正则表达式拉出<select>的选项值
这是我的代码:
preg_match_all('/value=[\"\']([^\"\' ]+)/i', $content, $value);
以下的preg_replace的<option>
标签的value
属性相匹配,并通过$1
返回其内容。
$gotcha = preg_replace(/<option\s.*?value="(.+?)"/i, $1, $source);
而且你还可以使用正则表达式以上preg_match_all()
获得比赛的数组:
需要注意的是,因为你用的字符数量不确定的处理<option
和value="
之间,你不能使用lookbehind从具有必要先决条件的字符串中仅提取好吃的东西。这意味着您必须使用替换函数和反向引用来隔离每个标签的值。
谢谢@ Aaron,我终于自己动手了。 preg_match_all('/ value = [\'\']([^ \“\'] +)/ i',$ content,$ value);我也会尝试你的方法。 –
只要您不希望它用'value'属性去除其他'input'元素,那么这个正则表达式就可以了。 – Aaron
通过“一般表达”你的意思是“正则表达式”? –
DOM是解析网页或其中一部分的过去方法。 – 2011-12-13 06:49:54
@DamienPirsy是正则表达式。 –