Php DOMDocument-是否检查了无线电

Php DOMDocument-是否检查了无线电,php,dom,Php,Dom,我正在使用Php DOMDocument解析html,并遍历所有元素以执行各种替换。当检测到单选按钮时,我如何检测它是否已选中,如果已选中,则替换为字符,例如“Y”;未经检查的收音机将被移除。到目前为止,我掌握的Php是: $dom = new DOMDocument(); libxml_use_internal_errors(true); $dom->loadHTML($row['cms_content']); $eleme

我正在使用Php DOMDocument解析html,并遍历所有元素以执行各种替换。当检测到单选按钮时,我如何检测它是否已选中,如果已选中,则替换为字符,例如“Y”;未经检查的收音机将被移除。到目前为止,我掌握的Php是:

        $dom = new DOMDocument();
        libxml_use_internal_errors(true);
        $dom->loadHTML($row['cms_content']);
        $elements = array();
        foreach($dom->getElementsByTagName('*') as $element ){
          if($element->tagName == 'input') {
            if($element->getAttribute("type")=='radio') {
              $parent = $element->parentNode;
              if($element->hasAttribute("checked")) { // THIS DOESN'T WORK!
                $div = $dom->createElement("div");
                $div->setAttribute("class", "checked-radio");
                $div->nodeValue = 'Y';
                $parent->replaceChild($div,$element);
              } else {
                $parent->removeChild($element);
              }
            }
          }
        }
简化的html格式为:

<input name="s1f1a1" type="radio" value="1" id="rdo1" class="myradio" checked><label for="rdo1" class="myradio-label"></label>
<input name="s1f1a1" type="radio" value="2" id="rdo2" class="myradio"><label for="rdo2" class="myradio-label"></label>
<input name="s1f1a1" type="radio" value="3" id="rdo3" class="myradio"><label for="rdo3" class="myradio-label"></label>


如果($element->getAttribute(“checked”){似乎有效@FieryCat是的,我尝试了getAttribute(“checked”)但没有成功。关于这一点,还有一个问题的答案是建议使用标签来查找“input[checked],这是否意味着Php DOMDocument类中缺少“checked”属性?按模式搜索
input[checked]
应该可以,这是真的@Musa,所以它确实可以工作,太棒了!我发现在html中没有实际设置checked属性。谢谢!关于
if($element->getAttribute(“checked”){
似乎有效@FieryCat是的,我尝试了getAttribute(“checked”),但没有成功。还有一个问题的答案建议使用标签查找“input[checked]”,这是否意味着Php DOMDocument类中缺少“checked”属性?按模式搜索
input[checked]
应该可以工作,这是真的@Musa,所以它确实可以工作,太棒了!我发现在html中实际上没有设置checked属性。谢谢!