我有一个大字符串,如下所示:
$string = '<span id="nothread307693965">blabla here is a lot of text blabla<span id="nothread5248574987">blabla even more text<span id="nothread9754541">';
我现在需要从线程中获取所有数字。 ('' - &gt;'307693965')。为此,我需要在PHP中搜索之间的字符串,该字符串应该返回数组中的所有数字。
输出应为:
array(3) {
[0]=>
int(307693965)
[1]=>
int(5248574987)
[2]=>
int(9754541)
}
这是我被困住的地方,请帮帮我!
答案 0 :(得分:3)
您可以使用字符串函数。但是出于提取目的,建议使用简单的正则表达式来进行最小化的结构验证:
preg_match_all('/[\s]id="nothread(\d+)"/', $html, $result);
$numbers = $result[1];
\s
表示空间。并且\d+
匹配小数。 ( )
大括号用于捕获,因为它们是第一个,它们的内容将显示在结果数组的索引[1]
中。
答案 1 :(得分:0)
preg_match_all('/nothread([0-9]{5,})/', $string, $matches);
$matches
现在包含您想要的内容。