如何从表单操作中获取URL?喜欢在PHP中报废或解析

时间:2013-01-04 16:38:01

标签: php

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

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

</form>

3 个答案:

答案 0 :(得分: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');

答案 1 :(得分:0)

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

  1. 使用 stristr 函数检测表单标记的开头 - 搜索字符串“&lt; form”
  2. 再次使用 stristr 查找字符串“action =”
  3. 的开头
  4. 使用 substr 截断前7个字符以开始url字符串
  5. 使用 strpos 检测网址字符串
  6. 后的第一个空格
  7. 使用 substr 获取url的字符串
  8. 从此字符串中删除空格和引号。用于此 str_replace 修剪功能
  9. 我认为这将有助于您学习如何解析任何HTML标签和其他内容。

答案 2 :(得分: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
      ?>