У меня есть foreach, который использует функцию Glob для получения некоторых файлов .htm и, наконец, помещает это содержимое в одно эхо.PHP - preg_replace и str_replace заменяются только один раз внутри foreach
Я попытался заменить одну конкретную фразу, расположенную во всех этих файлах .htm, с некоторыми данными, которые я извлекаю из каждого .htm filename.
Так,
$juzgado_radicado
генерирует номер, например --->004
$year_radicado
генерирует номер, например --->2015
$radicado_radicado
генерирует номер, как --->00911
Это число меняется в зависимости от foreach
Итерация, получающая новое имя файла.
Но в конце я использую preg_replace
или str_replace
, чтобы изменить фразу внутри каждого документа .htm, но вместо этого заменяя числа на каждой итерации, я получаю одинаковый результат во всех замещениях. Таким образом, я получаю что-то вроде «00911» во всех файлах .htm, и это должно быть что-то вроде «00911» и «00577».
Я не знаю, почему preg_replace
и str_replace
имеют такое поведение внутри цикла foreach
.
$directory2 = "/Applications/XAMPP/xamppfiles/htdocs/tecnojuridica/finalizado/";
$array_filename = glob($directory2 . "*.htm");
$string = '';
foreach($array_filename as $filename)
{
$xml_file = file_get_contents($filename, FILE_TEXT);
preg_match('/[0-9]{23}/', $filename, $match);
$radicado = $match[0];
// 002
$juzgado_radicado = substr($radicado, -14, 3);
// 2015
$year_radicado = substr($radicado, -11, 4);
// 00958
$radicado_radicado = substr($filename, -7, 5);
// Dom Object
$dom = new DOMDocument('1.0', 'utf-8');
$dom->xmlStandalone = true;
$dom->loadHTML($xml_file);
$content_node = $dom->getElementById("divrandom");
$mega = $dom->saveXML($content_node);
$string2 = preg_replace('/Datos del Proceso/', ' <font size="30"> <span style="background-color: #73A6FF; color: #fff; display: inline-block; padding: 3px 10px; font-weight: bold; border-radius: 5px;">' . $juzgado_radicado . '</span> <span style="background-color: #73A6FF; color: #fff; display: inline-block; padding: 3px 10px; font-weight: bold; border-radius: 5px;">' . $year_radicado . '</span> <span style="background-color: #73A6FF; color: #fff; display: inline-block; padding: 3px 10px; font-weight: bold; border-radius: 5px;">' . $radicado_radicado . ' </span> </font>', $mega);
$string.= $mega . ',';
}
echo utf8_decode($string2);
Заранее спасибо.