TBS - 将带分号的字符串合并到 if then 语句内的列表中
TBS - Merge string with semicolon into list inside if then statement
当我 运行 以下 TBS 模板 (.docx) 时,单引号 (') 仍然保留在最终的 docx 输出中。
如果删除这些,分号 (;) 等特殊字符会破坏模板,并且不会显示所有列表元素。
如何继续使用特殊字符并避免单引号 (') 出现在我的文档中?
some text here
1. [onshow;if [onload.missingFileEnabled;noerr] = ’1’; then ' Lorem ipsum
dolor sit amet, consectetur adipiscing elit.
• [test.x;block=tbs:listitem]
Aliquam a commodo lacus. Proin elit sapien, ultrices vel odio ac, ultricies ipsum ';magnet=w:p]
相关php代码:
// Create list data
$contentValues = array("missingFileEnabled" => "1", "testListItem1" => "Test; 1", "testListItem2" => "test 2", "testListItem3" => "test 3");
// Since multiple lists has to be supported, the list is converted into a list of list data.
$listItems = array();
foreach ($contentValues as $key => $value) {
if (strpos($key, 'ListItem') !== false && endsWith($key, 'Reservation') === false && endsWith($key, 'Description') === false) {
// echo "test<br>";
$keyParts = explode("ListItem", $key);
$listItems[$keyParts[0]][] = array("x" => str_replace("'", "’", $value));
}
}
// Then for each list, we merge the data
foreach ((array)$listItems as $listName => $list) {
$TBS->MergeBlock($listName, $list);
}
// Show the end file
$TBS->Show(OPENTBS_DOWNLOAD, $output_file_name);
与其使用条件字段(参数 magnet
),不如使用条件块(参数 when
)。
更加严谨易读。
您可以执行以下操作(参数 block=3*tbs:p
定义了 3 个段落的块):
1. [onshow;when [onload.missingFileEnabled;noerr] = ’1’; block=3*tbs:p] Lorem ipsum
dolor sit amet, consectetur adipiscing elit.
• [test.x;block=tbs:listitem]
Aliquam a commodo lacus. Proin elit sapien, ultrices vel odio ac, ultricies ipsum
当我 运行 以下 TBS 模板 (.docx) 时,单引号 (') 仍然保留在最终的 docx 输出中。
如果删除这些,分号 (;) 等特殊字符会破坏模板,并且不会显示所有列表元素。
如何继续使用特殊字符并避免单引号 (') 出现在我的文档中?
some text here
1. [onshow;if [onload.missingFileEnabled;noerr] = ’1’; then ' Lorem ipsum
dolor sit amet, consectetur adipiscing elit.
• [test.x;block=tbs:listitem]
Aliquam a commodo lacus. Proin elit sapien, ultrices vel odio ac, ultricies ipsum ';magnet=w:p]
相关php代码:
// Create list data
$contentValues = array("missingFileEnabled" => "1", "testListItem1" => "Test; 1", "testListItem2" => "test 2", "testListItem3" => "test 3");
// Since multiple lists has to be supported, the list is converted into a list of list data.
$listItems = array();
foreach ($contentValues as $key => $value) {
if (strpos($key, 'ListItem') !== false && endsWith($key, 'Reservation') === false && endsWith($key, 'Description') === false) {
// echo "test<br>";
$keyParts = explode("ListItem", $key);
$listItems[$keyParts[0]][] = array("x" => str_replace("'", "’", $value));
}
}
// Then for each list, we merge the data
foreach ((array)$listItems as $listName => $list) {
$TBS->MergeBlock($listName, $list);
}
// Show the end file
$TBS->Show(OPENTBS_DOWNLOAD, $output_file_name);
与其使用条件字段(参数 magnet
),不如使用条件块(参数 when
)。
更加严谨易读。
您可以执行以下操作(参数 block=3*tbs:p
定义了 3 个段落的块):
1. [onshow;when [onload.missingFileEnabled;noerr] = ’1’; block=3*tbs:p] Lorem ipsum
dolor sit amet, consectetur adipiscing elit.
• [test.x;block=tbs:listitem]
Aliquam a commodo lacus. Proin elit sapien, ultrices vel odio ac, ultricies ipsum