你可以把替换的列表中数组:
<?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
或者,让他们都在同一个关联数组(顺序并不重要,缺少的项目只是不会替换,没有错误):
<?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 = []数组中?例如,字符串中的日期每天都会改变,我抓住链接。 –