Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从div类获取数据_Php_Regex_Preg Match All - Fatal编程技术网

Php 从div类获取数据

Php 从div类获取数据,php,regex,preg-match-all,Php,Regex,Preg Match All,如何从div类获取数据 Example: A <div class=ab>1 &nbsp; 2</div>b <div class=ab>3 &nbsp; 4</div>c. 我想要:tt29747-介于http://www.imdb.com/title/和“> 使用strstrstr都很好,只是我只得到了第一个结果。我尝试了一些在这里找到的解决方案,但没有成功,正则表达式超出了我的范围。谢谢!尝试使用而不是正则表达式解析HTML

如何从div类获取数据

Example: A <div class=ab>1 &nbsp; 2</div>b <div class=ab>3 &nbsp; 4</div>c.
我想要:
tt29747
-介于
http://www.imdb.com/title/
“>


使用strstrstr都很好,只是我只得到了第一个结果。我尝试了一些在这里找到的解决方案,但没有成功,正则表达式超出了我的范围。谢谢!

尝试使用而不是正则表达式解析HTML

但是,假设没有嵌套的
div
,这里是要解析的正则表达式:

$html= 'Example: Lorem <div class=ab>1 &nbsp; 2</div>ipsum <div class=ab>3 &nbsp; 4</div>dolor.';
preg_match_all('|<div class=ab>([^<]*)</div>|i', $html, $m);
print_r($m[1]);

它在
$m[1][0]
中可能是您正在查看它的
$m[1][1]
!您最后的评论是它的
“ab“
带引号,其中在代码中只有
ab
。也许这就是原因?只需按我在示例中所示的方式运行代码。查看它如何返回。:-)从我上面的代码中:将该行替换为这一行
$html='12'
并运行我的代码。它起作用了!我不知道。也许我不明白你的意思!您是否进行了
打印(百万美元)匹配后?检查了它有什么?您可以使用您正在尝试的示例代码更新您的问题。
$html= 'Example: Lorem <div class=ab>1 &nbsp; 2</div>ipsum <div class=ab>3 &nbsp; 4</div>dolor.';
preg_match_all('|<div class=ab>([^<]*)</div>|i', $html, $m);
print_r($m[1]);
$html = 'http://www.imdb.com/title/tt29747">';
preg_match('|imdb.com/title/(tt\d+)|i', $html, $m);
print_r($m[1]);