2015-09-21 167 views
0

我试图找到一种方法来获得这个HTML属性“名称”的内容,使用PHP getStr,我无法让它工作,无论如何,我已经搜查,但我找不到找到的东西可以帮助我。如何使用php getStr获取html标签的“name”属性?

<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?](http://stackoverflow.com/questions/3577641/how-do-you-parse-and-process-html-xml-in-php) –

+0

您应该将该值保存在value属性中,而不是保存在name属性中。 – Shivam

+0

@Shivam,我没有明白你的意思,我想要“name =”里面的值我想要这个值“ –

回答

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 
+1

你不应该用正则表达式解析html阅读[这](http://stackoverflow.com/a/1732454/2847024) – DevDonkey

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

这将是正确的答案,如果它有更多的细节。 – DevDonkey

+0

@DevDonkey好吧,好的,我已经添加完整的答案,甚至尽管人们应该对自己的 –

+0

进行一点研究,如果你要回答,正确回答。如果你不认为应该回答一个问题,因为它的问题不好,那么不要。 – DevDonkey

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

    ?> 
[您如何分析和处理HTML/XML中的