我将一组 html 代码传递给 php 函数,目的是提取并返回它的子集。
这是传入数据的部分示例:
[0] => <div class="positionIs" style="float:right;width:181px;">
[1] => <table class="datab" style="width:100%;">
[2] => <tr>
[3] => <th colspan="2" style="padding:4px;">Position ist...
[4] => </th>
[5] => </tr>
[6] => <tr class="hell">
[7] => <td style="text-align:left;">...tatsächliche Position
[8] => </td>
[9] => <td style="font-weight:bold;padding:2px;">
[10] => <div style="text-align: center;border:1px solid black;padding:1px;height:1.4em;width:1.4em;background-color:#ffffff;">
[11] => </div>
要返回,例如第一个表格行 ([2] - [5]),在我看来,我需要测试“
我试过用 strpos 来做,但它并没有像我期望的那样工作。这可能是因为字符串中存在“<”和“/”。我试过用反斜杠转义它,但这也不起作用。我应该如何测试这些字符串?
按照下面的要求,这是我的函数中的代码:
$str_out = '';
$tracker = 0;
$start = '<tr';
$end = '/tr';
for ($i = 0, $ii = count($arr_in); $i < $ii; $i++)
{
$str_out .= $arr_in[$i];
if (strpos($arr_in[$i], $start) === true)
{
$tracker++;
}
if (strpos($arr_in[$i], $end) === true)
{
$tracker--;
}
if (!$tracker) break;
}