добавить ссылку на текст, чтобы существовать docx в phpword - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь добавить ссылку на текст в существующем документе с phpword. В документации я нашел пример вроде:

$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
$textrun->addLink('https://github.com/PHPOffice/PHPWord', 'PHPWord', 'Link');

, но я открываю do c и нахожу нужный текст в элементах Section-inside. Могу ли я удалить этот элемент текста и создать ссылку на элемент? Может быть есть другие способы? спасибо!

$i = 0;
$objReader = \PhpOffice\PhpWord\IOFactory::createReader('Word2007');
$phpWord = \PhpOffice\PhpWord\IOFactory::load($source);
foreach($phpWord->getSections() as $section) {
    foreach($section->getElements() as $e) {
        if ($e instanceof \PhpOffice\PhpWord\Element\Table) {
            foreach ($e->getRows() as $row) {
                foreach ($row->getCells() as $cell) {
                    foreach ($cell->getElements() as $element) {
                        if ($element instanceof \PhpOffice\PhpWord\Element\TextBreak) {
                            /////
                        } else {
                            foreach ($element->getElements() as $key => $el) {
                                if ($el instanceof \PhpOffice\PhpWord\Element\Text) {
                                    if ($id_first_paragraph == $i && $el->getElementIndex() == $idFirstElement) {
                                        /* add link in text */
                                    }
                                }
                            }
                        }
                        $i++;
                    }
                }
            }
        }
    }
}
...