Completed
Branch TemplateInspector (5726eb)
by Josh
09:25
created

Parser::parse()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 18
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
dl 0
loc 18
ccs 0
cts 9
cp 0
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 8
nc 2
nop 2
crap 6
1
<?php
2
3
/**
4
* @package   s9e\TextFormatter
5
* @copyright Copyright (c) 2010-2017 The s9e Authors
6
* @license   http://www.opensource.org/licenses/mit-license.php The MIT License
7
*/
8
namespace s9e\TextFormatter\Plugins\Autoemail;
9
10
use s9e\TextFormatter\Plugins\ParserBase;
11
12
class Parser extends ParserBase
13
{
14
	/**
15
	* {@inheritdoc}
16
	*/
17
	public function parse($text, array $matches)
18
	{
19
		$tagName  = $this->config['tagName'];
20
		$attrName = $this->config['attrName'];
21
22
		foreach ($matches as $m)
23
		{
24
			// Create a zero-width start tag right before the address
25
			$startTag = $this->parser->addStartTag($tagName, $m[0][1], 0);
26
			$startTag->setAttribute($attrName, $m[0][0]);
27
28
			// Create a zero-width end tag right after the address
29
			$endTag = $this->parser->addEndTag($tagName, $m[0][1] + strlen($m[0][0]), 0);
30
31
			// Pair the tags together
32
			$startTag->pairWith($endTag);
33
		}
34
	}
35
}