Как получить & quot; имя & quot; атрибут HTML-тега с использованием php getStr?

Я пытаюсь найти способ получить содержимое этого атрибута HTML «name», используя 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="','"');

Но я не могу найти способ получить имя атрибута первого?

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";

?>
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
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');
}
?>
0
По вопросам рекламы [email protected]