Add support for reading <w:tab/> element in runs. Internaly encoding it as "\t".
This commit is contained in:
parent
7fe32e6ac1
commit
0869bdc8f7
@ -241,9 +241,11 @@ abstract class AbstractPart
|
||||
if ($xmlReader->elementExists('w:br', $domNode)) {
|
||||
$parent->addTextBreak();
|
||||
}
|
||||
if ($xmlReader->elementExists('w:t', $domNode)) {
|
||||
if ($xmlReader->elementExists('w:t', $domNode) || $xmlReader->elementExists('w:tab', $domNode)) {
|
||||
// TextRun
|
||||
if ($domNode->parentNode->nodeName == 'w:del') {
|
||||
if ($xmlReader->elementExists('w:tab', $domNode)) {
|
||||
$textContent = "\t";
|
||||
} elseif ($domNode->parentNode->nodeName == 'w:del') {
|
||||
$textContent = $xmlReader->getValue('w:delText', $domNode);
|
||||
} else {
|
||||
$textContent = $xmlReader->getValue('w:t', $domNode);
|
||||
|
||||
@ -83,4 +83,22 @@ class ElementTest extends AbstractTestReader
|
||||
$this->assertEquals('bold', $listElements[2]->getText());
|
||||
$this->assertTrue($listElements[2]->getFontStyle()->getBold());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test reading of tab
|
||||
*/
|
||||
public function testReadTab()
|
||||
{
|
||||
$documentXml = '<w:p>
|
||||
<w:r>
|
||||
<w:tab/>
|
||||
</w:r>
|
||||
</w:p>';
|
||||
|
||||
$phpWord = $this->getDocumentFromString($documentXml);
|
||||
|
||||
$elements = $this->get($phpWord->getSections(), 0)->getElements();
|
||||
$this->assertInstanceOf('PhpOffice\PhpWord\Element\Text', $elements[0]);
|
||||
$this->assertEquals("\t", $elements[0]->getText());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user