0

我正在尝试找到一种方法来获取此 HTML 属性“名称”的内容,使用 PHP getStr,无论如何我无法让它工作,我已经搜索过,但我找不到可能有帮助的东西我。

<input id="9d6e793e-eed2-4095-860a-41ca7f89396b.subject" maxlength="50" name="9d6e793e-eed2-4095-860a-41ca7f89396b:subject" value="" tabindex="1" class="subject required field" type="text"/>

我想把这个值变成一个字符串:

9d6e793e-eed2-4095-860a-41ca7f89396b:主题

我可以得到这样一个标签的值:

<input type="hidden" name="message" value="1442814179635.Oz1LxjnxVCMMJ0QpV0wGLx4roEA="/>

使用此代码:

getStr($b,'name="message" value="','"');

但是我找不到获取第一个属性名称的方法?

4

3 回答 3

0

在 PHP 中使用正则表达式。这段代码应该会有所帮助:

<?php

$str  = '<input type="hidden" name="message" value="1442814179635.Oz1LxjnxVCMMJ0QpV0wGLx4roEA="/>';

//forward slashes are the start and end delimeters
//third parameter is the array we want to fill with matches
if (preg_match('/name="([^"]+)"/', $str, $m)) {
    print $m[1];   
} else {
   //preg_match returns the number of matches found, 
   //so if here didn't match pattern
}

输出:

message
于 2015-09-21T06:15:22.727 回答
0

检查 PHP DOMElement::getAttribute方法。一切都在手册中

干得好:

<?php
$html = '<input id="9d6e793e-eed2-4095-860a-41ca7f89396b.subject" maxlength="50" name="9d6e793e-eed2-4095-860a-41ca7f89396b:subject" value="" tabindex="1" class="subject required field" type="text"/>';
$doc = new DOMDocument;
$doc->loadHTML($html);
$elements = $doc->getElementsByTagName("input");
foreach($elements as $element){
   echo $element->getAttribute('name');
}
?>
于 2015-09-21T06:17:52.123 回答
0

这段代码将做你想做的事:

    <?php

        $b = '<input id="9d6e793e-eed2-4095-860a-41ca7f89396b.subject" maxlength="50" name="9d6e793e-eed2-4095-860a-41ca7f89396b:subject" value="" tabindex="1" class="subject required field" type="text"/>';

        echo "\$b = $b\n";

        $rest = substr(strstr($b,'name="'),6);

        echo "\$rest = $rest\n";

        $name = strstr($rest,'"',true);

        echo "\$name = $name\n";

    ?>
于 2015-09-21T06:22:38.777 回答