Можете ли вы удалить текстовую строку в PHP с OpenTBS, если нет ничего объединенного
Я использовал OpenTBS для изменения файлов DOCX. Когда я объединяю информацию моей БД с файлом DOCX, он всегда оставляет пустые данные для любой информации в моей БД, которая отсутствует.
Вот изображение моего "исходного" документа слева и мое слияние справа.
Как мне удалить лишние разрывы строк?
Вот код, производящий это слияние, если оно помогает вам
public function mergeFields($template_file, Array $user, Array $lead){
require_once('components/tbs_class_php5.php');
require_once('components/tbs_plugin_opentbs.php');
//Instantiate new class
$tbs = new clsTinyButStrong;
$tbs->NoErr = true;
$tbs->Plugin(TBS_INSTALL,OPENTBS_PLUGIN);
$tbs->LoadTemplate($template_file);
$tbs->MergeBlock('l',$lead);
$tbs->MergeBlock('u',$user);
$mergeFile = dirname(Yii::app()->basePath).DIRECTORY_SEPARATOR.'components/merge.docx';
$tbs->Show(OPENTBS_FILE, $mergeFile);
chmod($mergeFile,0755);
return $mergeFile;
}
1 ответ
Решение
Какое бы поле вы не считали обязательным или могло иметь нулевое значение, добавьте тег-магнит, как показано ниже:
[L.co; магнит = ш: р]
Здесь магнит - это условие, которое удаляет тег, если значение равно нулю или пусто. Он имеет значение "w:p", потому что XML-файл DOCX содержит все новые значения в теге, например:-
<w:p>...</w:p>
Таким образом, он удалит тег, и пробелы будут удалены.