0

我使用 simple_html_dom.php

如果网站使用了错误标签,如何获取 textarea 值。

</textarea>textarea 标签在输入标签之前已经关闭。

Textarea HTML 如下所示:

<textarea name="xxx" id="xxx" />this is value</textarea>

当我使用这个功能时,我什么也得不到

$textarea = $html->find("textarea[name=xxx]"); 
$contents = $textarea->innertext;
echo $contents;

如何使用 simple_html_dom.php 或其他替代方法获得“这是价值”?

谢谢

4

2 回答 2

1

好吧,我之前的评论在这种情况下不起作用,不过我会把它留作参考......

另一种方法是在使用 simple_html_dom 解析它之前清理它Tidy extension。但它似乎也不在这里工作......

我能想到的最后一种方法,如果这是你唯一有问题的情况,是使用正则表达式来获得你想要的:

  • 使用<textarea.*?name="xxx".*?id="xxx".*?\/>([^<]+)<\/textarea>==>RegEx DEMO
  • 输出将在结果数组的第一组中$match。检查此工作代码:

    $input =  <<<_DATA_ 
    <textarea name="xxx" id="xxx" />this is value</textarea>
    _DATA_;
    
    $pattern = '/<textarea.*?name="xxx".*?id="xxx".*?\/>([^<]+)<\/textarea>/';
    
    preg_match($pattern, $input, $match);
    var_dump($match)
    

    Working DEMO

于 2014-12-02T12:18:41.717 回答
0

Teaxtarea在 javascript中很容易获得 a 的值 :

 <script type=text/javascript>

function getValueTextarea()
{
   var vl=document.getElementById("tx").value;
   alert(vl);
}

</script>

<body>
   <textarea id="tx">Value Of Textarea</textarea>
   <input id="button" value="Get Value" onclick="getValueTextarea()">  
</body>
于 2015-12-30T19:19:44.457 回答