在PHP中使用preg_match_all搜索ID的值

时间:2019-04-26 19:49:26

标签: php preg-match-all

我在PHP中得到一个字符串,我需要查找ID的值,可以为1,怎么可以为100个ID,怎么办?我尝试过这样的事情:

$text = 'Name1 <span id="indicado-b">John</span> Name2 <span id="indicado-c">Mike</span>';
preg_match_all('/<span id="indicado-(.*)"/si',$text, $match);
print_r($match);

我需要接收的值是bc,它们是ID值,但它没有返回,我得到:

Array ( [0] => Array ( [0] => John Name2 Array ( [0] => b">John Name2

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

$text = 'Name1 <span id="indicado-b">John</span> Name2 <span id="indicado-c">Mike</span>';
$separate_array = explode('<span id="indicado-', $text);

$span_ids = array();
foreach ($separate_array as $row) {
    $test_span = explode('"', $row);
    if (count($test_span) > 1 ) {
        $span_ids[] = $test_span[0];
    }
}
print_r($span_ids);

它使用PHP中的explode返回预期的结果。