Completed
Push — master ( c814ba...8cfaee )
by Jan
04:18
created

BBCodeToMarkdownConverter::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
/**
3
 *
4
 * part-db version 0.1
5
 * Copyright (C) 2005 Christoph Lechner
6
 * http://www.cl-projects.de/
7
 *
8
 * part-db version 0.2+
9
 * Copyright (C) 2009 K. Jacobs and others (see authors.php)
10
 * http://code.google.com/p/part-db/
11
 *
12
 * Part-DB Version 0.4+
13
 * Copyright (C) 2016 - 2019 Jan Böhmer
14
 * https://github.com/jbtronics
15
 *
16
 * This program is free software; you can redistribute it and/or
17
 * modify it under the terms of the GNU General Public License
18
 * as published by the Free Software Foundation; either version 2
19
 * of the License, or (at your option) any later version.
20
 *
21
 * This program is distributed in the hope that it will be useful,
22
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
 * GNU General Public License for more details.
25
 *
26
 * You should have received a copy of the GNU General Public License
27
 * along with this program; if not, write to the Free Software
28
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
29
 *
30
 */
31
32
namespace App\Helpers;
33
34
use League\HTMLToMarkdown\HtmlConverter;
35
use s9e\TextFormatter\Bundles\Forum as TextFormatter;
36
use SebastianBergmann\CodeCoverage\Report\Text;
0 ignored issues
show
Bug introduced by
The type SebastianBergmann\CodeCoverage\Report\Text was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
37
38
39
class BBCodeToMarkdownConverter
40
{
41
    protected $html_to_markdown;
42
43
    public function __construct()
44
    {
45
        $this->html_to_markdown = new HtmlConverter();
46
    }
47
48
    /**
49
     * Converts the given BBCode to markdown.
50
     * BBCode tags that does not have a markdown aequivalent are outputed as HTML tags.
51
     * @param $bbcode string The Markdown that should be converted.
52
     * @return string The markdown version of the text.
53
     */
54
    public function convert(string $bbcode) : string
55
    {
56
        //Convert BBCode to html
57
        $xml = TextFormatter::parse($bbcode);
58
        $html = TextFormatter::render($xml);
59
60
        //Now convert the HTML to markdown
61
        return $this->html_to_markdown->convert($html);
62
    }
63
}