あなたは配列内の代替品のリストを置くことができます(順序は重要ではありませんし、不足している項目だけではありません
<?php
/*
$list = [];
$list[] = "TALB20170826D-\$A$$-RA11.pdf";
$list[] = "TAP$20170826D-\$A$$-RA11.pdf";
$list[] = "TASD20170826D-\$A$$-RA11.pdf";
$list[] = "TAUA20170826D-\$A$$-RA11.pdf";
$list[] = "TAUB20170826D-\$A$$-RA11.pdf";
$list[] = "TAUC20170826D-\$A$$-RA11.pdf";
$list[] = "TAUD20170826D-\$A$$-RA11.pdf";
$list[] = "TBTP20170826D-\$A$$-RA11.pdf";
$list[] = "TCBY20170826D-\$A$$-RA11.pdf";
*/
$list = $html->find('a');
$abbr = [
"TALB",
"TAP",
// ...
];
$replacements = [
"ALBANY",
"Asia Pacific",
// ...
];
foreach ($list as &$el) {
$el->href = str_replace($abbr, $replacements, $el->href);
}
Demo
あるいは、1つの連想配列でそれらのすべてを維持するために交換し、エラーなし):
<?php
/*$list = [];
$list[] = "TALB20170826D-\$A$$-RA11.pdf";
$list[] = "TAP$20170826D-\$A$$-RA11.pdf";
$list[] = "TASD20170826D-\$A$$-RA11.pdf";
$list[] = "TAUA20170826D-\$A$$-RA11.pdf";
$list[] = "TAUB20170826D-\$A$$-RA11.pdf";
$list[] = "TAUC20170826D-\$A$$-RA11.pdf";
$list[] = "TAUD20170826D-\$A$$-RA11.pdf";
$list[] = "TBTP20170826D-\$A$$-RA11.pdf";
$list[] = "TCBY20170826D-\$A$$-RA11.pdf";*/
$list = $html->find('a');
$abbr = [
"TALB" => "ALBANY",
"TAP" => "Asia Pacific",
];
foreach ($list as &$el) {
$el->href = strtr($el->href, $abbr);
}
Demo
それともあなたはそれを少しクリーナー見つける、array_map()
を使用する:略語は順番になっていないか、時々表示されていない場合
$list = array_map(function($el) use($abbr) {
return strtr($el, $abbr);
}, $list);
この作品は意志を? –
最初の方法ではできませんが、別の方法で編集しています。 – ishegg
それは動作します!今、私はどのようにpdfのリンク名を$ list = []配列に入れますか? たとえば、文字列内の日付はリンクをつかむ毎日変わります。 –