0

我想从 HTML 表单操作中获取 URL。我怎样才能在 PHP 中得到这个?表单标签如

<form method="post" action="my.aspx? id="aspnetForm" enctype="multipart/form-data">

</form>
4

3 回答 3

2

您可以尝试使用 DOM 加载 HTML,然后使用 xpath 提取信息:

// create a DOM document object and load your html
$doc = new DOMDocument();
$doc->loadHtml($yourHtml);

// create an Xpath selector for the document
$selector = new DOMXpath($doc);

// the following query will return all <form> elements
// you may refine it
$result = $selector->query('//form');

// get the first item (to keep the example simple)
$form = $result->item(0);

// get the value of the action attribute
$url = $form->getAttribute('action');
于 2013-01-04T17:04:16.650 回答
0

您可以使用正则表达式。但我认为你会简单地进行下一步:

  1. 使用stristr函数检测表单标记的开头 - 搜索字符串“<form”
  2. 再次使用stristr查找字符串“action=”的开头
  3. 使用substr截断前 7 个字符以开始 url 字符串
  4. 使用strpos检测 url 字符串后的第一个空格
  5. 使用substr获取 url 字符串
  6. 从此字符串中删除空格和引号。用于此str_replacetrim功能

我认为这将帮助您研究如何解析任何 html 标签和其他内容。

于 2013-01-04T16:55:27.573 回答
0

你可以这样..

      <?php
       $string = <<<XML
       <form method="post" action="my.aspx? id="aspnetForm" enctype="multipart/form-data"></form>
       XML;

      $xml = new SimpleXMLElement($string);

      $att = 'action';
      $attribute = $xml->form[0]->attributes()->$att; // answer
      ?>
于 2013-01-04T17:15:37.317 回答