diff --git a/src/Output/QRMarkupHTML.php b/src/Output/QRMarkupHTML.php
index 42dcf12f7..65dc49a8a 100644
--- a/src/Output/QRMarkupHTML.php
+++ b/src/Output/QRMarkupHTML.php
@@ -23,7 +23,8 @@ class QRMarkupHTML extends QRMarkup{
* @inheritDoc
*/
protected function createMarkup(bool $saveToFile):string{
- $rows = [];
+ $rows = [];
+ $cssClass = $this->getCssClass();
foreach($this->matrix->getMatrix() as $row){
$element = '';
@@ -32,12 +33,7 @@ class QRMarkupHTML extends QRMarkup{
$rows[] = sprintf('
%s
%s', implode('', $modules), $this->eol);
}
- $html = sprintf(
- '%3$s%2$s
%3$s',
- $this->getCssClass(),
- implode('', $rows),
- $this->eol
- );
+ $html = sprintf('%3$s%2$s
%3$s', $cssClass, implode('', $rows), $this->eol);
// wrap the snippet into a body when saving to file
if($saveToFile){
diff --git a/src/Output/QRStringText.php b/src/Output/QRStringText.php
index 94fc5c86f..3de86f9de 100644
--- a/src/Output/QRStringText.php
+++ b/src/Output/QRStringText.php
@@ -10,6 +10,7 @@
namespace chillerlan\QRCode\Output;
+use function array_map;
use function implode;
use function is_string;
use function max;
@@ -51,14 +52,8 @@ class QRStringText extends QROutputAbstract{
$lines = [];
$linestart = $this->options->textLineStart;
- for($y = 0; $y < $this->moduleCount; $y++){
- $r = [];
-
- for($x = 0; $x < $this->moduleCount; $x++){
- $r[] = $this->getModuleValueAt($x, $y);
- }
-
- $lines[] = $linestart.implode('', $r);
+ foreach($this->matrix->getMatrix() as $row){
+ $lines[] = $linestart.implode('', array_map([$this, 'getModuleValue'], $row));
}
$data = implode($this->eol, $lines);