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. 文字列"action="の先頭を見つけるには、もう一度stristrを使用します
  3. substrを使用して、最初の7文字を切り捨ててURL文字列を開始します
  4. url文字列の後の最初のスペースを検出するためにstrposを使用する
  5. URLの文字列を取得するためにsubstrを使用します
  6. この文字列からスペースと引用符を削除します。このstr_replaceまたはtrim関数に使用します

これは、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 に答える