ここに私が持っている配列があります
var_dump($arr);
// prints below array
[0] => Array
(
[title] => Lee Daniels' The Butler (2013)
)
中かっこと一緒に年を削除し、スペース (" ") をアンダースコア ("_") に置き換えてから、それを urlencode したいと考えています。したがって、望ましい出力は
Lee_Daniels%27_The_Butler
これが私のコードです:
$url = preg_replace('/\((\d){4}\)/', '', $arr[0]['title']);
$title = str_replace(" ","_", trim($url));
$title = urlencode($title); // tried with urlencode(addslashes($title));
echo $title; // prints Lee_Daniels'_The_Butler
echo urlencode('\'') が「%27」を返すことを知っているため、addslashes を試しましたが、役に立ちませんでした。
更新: それはうまく動作します
preg_replace('/\((\d){4}\)/', '', "Lee Daniels' The Butler (2013)");
ただし、次のように str を直接フェッチする場合:
include_once('simple_html_dom.php');
$url = 'http://www.imdb.com/chart/';
$main_content = file_get_html($url);
$table = $main_content->find('table', 0);
$tbody = $table->find('tbody', 0);
$trs = $tbody->find('tr');
foreach ($trs as $tr) {
$tds = $tr->find('td');
$movies = "";
$movies['title'] = trim($tds[2]->plaintext);
$arr[] = $movies;
}
$url = preg_replace('/\((\d){4}\)/', '', $arr[0]['title']);
$title = str_replace(" ","_", trim($url));
$title = urlencode($title);
echo $title;
これを複製するには、単純な html dom パーサーを php に含めてください。
誰かが私が欠けているものを親切に指摘できますか?