JSFiddle - React, Tailwind, and code Playground
HTML
<?php
$urlList = array();
$urlList[] = "http://対象URL1**********";
$urlList[] = "http://対象URL2**********";
$result = getMultiContents($urlList);
function getMultiContents( $url_list ) {
// マルチハンドルの用意
$mh = curl_multi_init();
// URLをキーとして、複数のCurlハンドルを入れて保持する配列
$ch_list = array();
// Curlハンドルの用意と、マルチハンドルへの登録
foreach( $url_list as $url ) {
$ch_list[$url] = curl_init($url);
curl_setopt($ch_list[$url], CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch_list[$url], CURLOPT_TIMEOUT, 3); // タイムアウト秒数を指定
curl_multi_add_handle($mh, $ch_list[$url]);
}
// 一括で通信実行、全て終わるのを待つ
$running = null;
do {
curl_multi_exec($mh, $running);
}
while ( $running );
// 実行結果の取得
$results = array();
foreach( $url_list as $url ) {
// ステータスとコンテンツ内容の取得
//$results[$url] = curl_getinfo($ch_list[$url]);不要
$results[$url]["content"] = curl_multi_getcontent($ch_list[$url]);
// Curlハンドルの後始末
curl_multi_remove_handle($mh, $ch_list[$url]);
curl_close($ch_list[$url]);
}
// マルチハンドルの後始末
curl_multi_close($mh);
// 結果返却
return $results;
}
//var_dump($result);
//↓ここからが不明です+++++++++++++++++++++++
$search = array('~','~');//置換対象1
$replace = array('~','~');//これで置換1
foreach ($result as &$item) {
$item['content'] = str_replace($search,$replace,$item['content']);
}
var_dump($item);
unset($item);
//質問1 $itemをvar_dumpをすると対象URL1の内容しかでてこないのですが、対象URL2の分はどう記述すれば出せるのでしょうか
//質問2 上記foreachの結果をechoする為には、$itemを再度foreachするという事でしょうか
?>