1

我将一组 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&auml;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;
}

如何添加一个 html 文件

我想在一个html中绑定下面的脚本和表单代码我该怎么做?我认为当没有显示任何内容时,这段代码会给我一个空白值?

<form method="post" action="contactengine.php">
    <input type="textbox" class="default-value" name="Name" id="Name" value="Full Name">

    <input type="textbox" class="default-value" name="Email" id="Email" value="Email">

    <input type="submit" name="submit" id="submit" value="Submit" class="submit-button" />
</form> 

$('.default-value').each(function() {
    var default_value = $(this).val();
    $(this).css('color', '#746F66'); // this could be in the style sheet instead
    $(this).focus(function() {
        if(this.value == default_value) {
            this.value = '';
            $(this).css('color', 'black');
        }
    });
    $(this).blur(function() {
        if(this.value == '') {
            $(this).css('color', '#746F66');
            this.value = default_value;
        }
    });
});
4

1 回答 1

1

strpos不会回来TRUE。它将返回找到“needle”的第一个字符的位置,FALSE如果没有找到则返回。有关更多信息,请查看此处的手册:http: //php.net/manual/en/function.strpos.php

所以而不是使用

if (strpos($arr_in[$i], $start) === true)

你可以像这样检查非假:

if (strpos($arr_in[$i], $start) !== false)

于 2013-06-28T09:31:52.420 回答