Merge pull request #1336 from lalop/addhtpl-bookmark
support internal link in addHtml method
This commit is contained in:
commit
6ba2df474f
|
|
@ -723,6 +723,10 @@ class Html
|
|||
}
|
||||
self::parseInlineStyle($node, $styles['font']);
|
||||
|
||||
return $element->addLink($target, $node->textContent, $styles['font'], $styles['paragraph']);
|
||||
if(strpos($target, '#') === 0) {
|
||||
return $element->addLink(substr($target, 1), $node->textContent, $styles['font'], $styles['paragraph'], true);
|
||||
} else {
|
||||
return $element->addLink($target, $node->textContent, $styles['font'], $styles['paragraph']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -453,6 +453,18 @@ class HtmlTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
$this->assertTrue($doc->elementExists('/w:document/w:body/w:p/w:hyperlink'));
|
||||
$this->assertEquals('link text', $doc->getElement('/w:document/w:body/w:p/w:hyperlink/w:r/w:t')->nodeValue);
|
||||
|
||||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
$section = $phpWord->addSection();
|
||||
$section->addBookmark('bookmark');
|
||||
$html = '<p><a href="#bookmark">internal link text</a></p>';
|
||||
Html::addHtml($section, $html);
|
||||
$doc = TestHelperDOCX::getDocument($phpWord, 'Word2007');
|
||||
|
||||
$this->assertTrue($doc->elementExists('/w:document/w:body/w:p/w:hyperlink'));
|
||||
$this->assertTrue($doc->getElement('/w:document/w:body/w:p/w:hyperlink')->hasAttribute('w:anchor'));
|
||||
$this->assertEquals('bookmark', $doc->getElement('/w:document/w:body/w:p/w:hyperlink')->getAttribute('w:anchor'));
|
||||
|
||||
}
|
||||
|
||||
public function testParseMalformedStyleIsIgnored()
|
||||
|
|
|
|||
Loading…
Reference in New Issue