StarRemover   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 21
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A decorate() 0 16 1
1
<?php
2
3
/**
4
 * This software package is licensed under `AGPL, Commercial` license[s].
5
 *
6
 * @package maslosoft/zamm
7
 * @license AGPL, Commercial
8
 *
9
 * @copyright Copyright (c) Peter Maselkowski <[email protected]>
10
 * @link https://maslosoft.com/zamm/
11
 */
12
13
namespace Maslosoft\Zamm\Decorators;
14
15
use Maslosoft\Zamm\Interfaces\Decorators\RendererDecoratorInterface;
16
17
/**
18
 * Remove stars `*` which surrounds php doc comments, like this one.
19
 *
20
 * @author Piotr Maselkowski <pmaselkowski at gmail.com>
21
 */
22
class StarRemover extends RendererDecorator implements RendererDecoratorInterface
23
{
24
25
	public function decorate(&$docComment)
26
	{
27
		$docComment = trim($docComment);
28
29
		// Remove leading slash
30
		$docComment = preg_replace('~^/~ms', '', $docComment);
31
32
		// Remove trailing slash
33
		$docComment = preg_replace('~/$~ms', '', $docComment);
34
35
		// Remove stars and one space
36
		$docComment = preg_replace('~^\s*\**~ms', '', $docComment);
37
38
		// Remove leading spaces. Other whitespace must be preserved.
39
		$docComment = preg_replace('~^ {1}~ms', '', $docComment);
40
	}
41
42
}
43