2011-02-07 120 views
1

我有一个大的字符串,它是这样的:PHP:获取字符串A和字符串B之间的字符串(多个字符串需要被搜索)

$string = '<span id="nothread307693965">blabla here is a lot of text blabla<span id="nothread5248574987">blabla even more text<span id="nothread9754541">'; 

我现在需要把所有从线程数。 ('' - >'307693965')。为此,我需要在PHP中搜索一个字符串,它应该返回数组中的所有数字。

输出应该是:

array(3) { 
    [0]=> 
    int(307693965) 
    [1]=> 
    int(5248574987) 
    [2]=> 
    int(9754541) 
} 

这是我坚持的地方,请帮助我!

回答

3

您可以使用字符串函数。但是,对于提取目的的简单正则表达式是可取的最小结构验证:

preg_match_all('/[\s]id="nothread(\d+)"/', $html, $result); 
$numbers = $result[1]; 

\s装置空间。而\d+匹配小数。 ()大括号用于捕获,并且由于它们是第一个,它们的内容将显示在结果数组的索引[1]中。

0
preg_match_all('/nothread([0-9]{5,})/', $string, $matches); 

$matches现在包含你想要的东西。

相关问题