PHP:获取字符串A和字符串B之间的字符串(需要搜索多个字符串)

时间:2011-02-07 11:37:45

标签: php arrays string

我有一个大字符串,如下所示:

$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)
}

这是我被困住的地方,请帮帮我!

2 个答案:

答案 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现在包含您想要的内容。