Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2/**
3*
4* This file is part of the phpBB Forum Software package.
5*
6* @copyright (c) phpBB Limited <https://www.phpbb.com>
7* @license GNU General Public License, version 2 (GPL-2.0)
8*
9* For full copyright and license information, please see
10* the docs/CREDITS.txt file.
11*
12*/
13
14namespace phpbb\textformatter;
15
16/**
17* Used to manipulate a parsed text
18*
19* In this interface, "plain text" refers to regular text as it would be inputted by a user.
20* "Parsed text" refers to whichever form is returned by the implementation after parsing, which
21* should be suitable to be reinserted into the database.
22*/
23interface utils_interface
24{
25    /**
26    * Replace BBCodes and other formatting elements with whitespace
27    *
28    * NOTE: preserves smilies as text
29    *
30    * @param  string $text Parsed text
31    * @return string       Plain text
32    */
33    public function clean_formatting($text);
34
35    /**
36    * Create a quote block for given text
37    *
38    * Possible attributes:
39    *   - author:  author's name (usually a username)
40    *   - post_id: post_id of the post being quoted
41    *   - user_id: user_id of the user being quoted
42    *   - time:    timestamp of the original message
43    *
44    * @param  string $text       Quote's text
45    * @param  array  $attributes Quote's attributes
46    * @return string             Quote block to be used in a new post/text
47    */
48    public function generate_quote($text, array $attributes = array());
49
50    /**
51    * Get a list of quote authors, limited to the outermost quotes
52    *
53    * @param  string   $text Parsed text
54    * @return string[]       List of authors
55    */
56    public function get_outermost_quote_authors($text);
57
58    /**
59    * Remove given BBCode and its content, at given nesting depth
60    *
61    * @param  string  $text        Parsed text
62    * @param  string  $bbcode_name BBCode's name
63    * @param  integer $depth       Minimum nesting depth (number of parents of the same name)
64    * @return string               Parsed text
65    */
66    public function remove_bbcode($text, $bbcode_name, $depth = 0);
67
68    /**
69     * Return a parsed text to its original form
70     *
71     * @param  string $text Parsed text
72     * @return string       Original plain text
73     */
74    public function unparse($text);
75
76    /**
77     * Return whether or not a parsed text represent an empty text.
78     *
79     * @param  string $text Parsed text
80     * @return bool         True if the original text is empty
81     */
82    public function is_empty($text);
83}