【发布时间】:2020-04-24 18:45:33
【问题描述】:
在这个网站上搜索了两天,我找不到合适的方法来解决我的请求,所以请指导我。
我有一个字符串,它可能包含插入到字符串中不同位置的几对分隔符,例如:
敏捷的[begin]棕狐[end]跳过[begin]懒惰的[end]狗。
或
[begin]快速的棕色[end]狐狸跳过[begin]懒惰[end]的狗。
我需要什么:每次找到这些分隔符时,我都想在 pdf 的两列中显示分隔内容,但还要在这些分隔符之前和之后保留字符串的其余部分。
假设上面的第一个例子我需要得到以下结果:
快的 $mpdf->SetColumns(2); 棕狐 $mpdf->SetColumns(0); 跳过 $mpdf->SetColumns(2); 懒人 $mpdf->SetColumns(0); 狗这是我从 php.net 使用的函数,但正如您所见,它仅适用于一对分隔符,我不知道如何在这里使用 foreach 并保持我需要的格式:
function multiexplode ($delimiters,$string) {
$ready = str_replace($delimiters, $delimiters[0], $string);
$launch = explode($delimiters[0], $ready);
return $launch;
}
$exploded = multiexplode(array('[begin]','[end]'),$mystring);
//if delimiters exist, then split in two columns only those parts of the string
if (count($exploded) > 1) {
//begining of the string
$mpdf->WriteHTML($exploded[0]);
//split in two columns
$mpdf->SetColumns(2);
$mpdf->WriteHTML($exploded[1]);
//reset to single column and write the rest of the string
$mpdf->SetColumns(0);
$mpdf->WriteHTML($exploded[2]);
} else {
//set two columns for the entire string
$mpdf->SetColumns(2);
$mpdf->WriteHTML($mystring);
}
谢谢
【问题讨论】: