Browse Source

Don't lose original formatting on paragraphs if a value has been replaced/displaced. Fix #31

master
Alex Puiu 4 years ago
parent
commit
016dac6646
  1. 16
      app/SearchDisplace/SearchAndDisplaceXML.php

16
app/SearchDisplace/SearchAndDisplaceXML.php

@ -21,10 +21,10 @@ class SearchAndDisplaceXML
{ {
$this->applySD(); $this->applySD();
$this->convertToOdt();
$this->convertToOriginalFileType();
} }
protected function convertToOdt()
protected function convertToOriginalFileType()
{ {
(new Process(['soffice', '--convert-to', $this->type, $this->file, '--outdir', storage_path('app/tmp/')]))->run(); (new Process(['soffice', '--convert-to', $this->type, $this->file, '--outdir', storage_path('app/tmp/')]))->run();
} }
@ -34,16 +34,7 @@ class SearchAndDisplaceXML
$dom = new \DOMDocument(); $dom = new \DOMDocument();
$dom->load($this->file); $dom->load($this->file);
foreach($dom->getElementsByTagName('p') as $p) {
$is_image = false;
if($p->childNodes) {
foreach($p->childNodes as $child) {
if(isset($child->tagName) && $child->tagName == 'draw:frame') {
$is_image = true;
}
}
}
if(!$is_image) {
foreach($dom->getElementsByTagName('span') as $p) {
$search = new SearchAndDisplace( $search = new SearchAndDisplace(
stripslashes($p->textContent), stripslashes($p->textContent),
[ [
@ -61,7 +52,6 @@ class SearchAndDisplaceXML
$p->textContent = $changed['content']; $p->textContent = $changed['content'];
} }
}
$dom->save($this->file); $dom->save($this->file);
} }

Loading…
Cancel
Save