尝试学习正则表达式4个小时,我总是收到错误。我希望获得cURL的action
值。
<form id="loginForm" name="loginForm" method="post" action="M_Username_Password.aspx?__ufps=802858&84E09046BECF819E=6C1143C04AF5072F1DF5B1C51C90DACB">
从表格标签中取出这部分:
M_Username_Password.aspx?__ufps=802858&84E09046BECF819E=6C1143C04AF5072F1DF5B1C51C90DACB
并与cURL一起使用。
curl_setopt($ch, CURLOPT_URL, "http://website.com/$linkaction");
$linkaction
就是一个例子。
答案 0 :(得分:0)
<form.*?action="([^"]*)".*?>
$html = '<form id="loginForm" name="loginForm" method="post" action="M_Username_Password.aspx?__ufps=802858&84E09046BECF819E=6C1143C04AF5072F1DF5B1C51C90DACB">'; // from cURL
preg_match_all('/<form.*?action="([^"]*)".*?>/i', $html, $matches);
var_dump($matches[1]); // An array of form actions
// array(1) {
// [0]=>
// string(92) "M_Username_Password.aspx?__ufps=802858&84E09046BECF819E=6C1143C04AF5072F1DF5B1C51C90DACB"
// }
但最后,don't rely on regex to parse HTML。尝试像DOMDocument
这样的DOM解析器。