如何提取<;A>;在Laravel上使用GuzzleHttp标记
嗨,我有一个laravel项目,它使用GuzzleHttp获取标记列表。我可以得到如下代码的身体如何提取<;A>;在Laravel上使用GuzzleHttp标记,laravel,Laravel,嗨,我有一个laravel项目,它使用GuzzleHttp获取标记列表。我可以得到如下代码的身体 class GuzzleController extends Controller { public function Index(){ $client = new \GuzzleHttp\Client(); $response = $client->request('GET', 'http://google.com'); if($response->ge
class GuzzleController extends Controller
{
public function Index(){
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'http://google.com');
if($response->getStatusCode() == 200){
$body = $response->getBody();
return $body;
}else{
return "fail";
}
}
}
但我不知道如何从响应中提取标记列表。谢谢你的回答。你可以利用。例如:
use DOMDocument;
class GuzzleController extends Controller
{
public function Index(){
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'http://google.com');
$html = (string) $response->getBody();
$dom = new DOMDocument;
$dom->loadHTML($html);
$links = $dom->getElementsByTagName('a');
foreach ($links as $link){
echo $link->nodeValue;
echo $link->getAttribute('href');
}
}
}
这只是一个例子。理想情况下,您可能希望注入这些依赖项 我发现一个错误“App\Http\Controllers\DOMDocument”找不到您需要在顶部添加
使用DOMDocument
:)