1<?php
2/**
3 * @copyright Copyright (c) 2014 Carsten Brandt
4 * @license https://github.com/cebe/markdown/blob/master/LICENSE
5 * @link https://github.com/cebe/markdown#readme
6 */
7
8namespace cebe\markdown\block;
9
10/**
11 * Adds horizontal rules
12 */
13trait RuleTrait
14{
15	/**
16	 * identify a line as a horizontal rule.
17	 */
18	protected function identifyHr($line)
19	{
20		// at least 3 of -, * or _ on one line make a hr
21		return (($l = $line[0]) === ' ' || $l === '-' || $l === '*' || $l === '_') && preg_match('/^ {0,3}([\-\*_])\s*\1\s*\1(\1|\s)*$/', $line);
22	}
23
24	/**
25	 * Consume a horizontal rule
26	 */
27	protected function consumeHr($lines, $current)
28	{
29		return [['hr'], $current];
30	}
31
32	/**
33	 * Renders a horizontal rule
34	 */
35	protected function renderHr($block)
36	{
37		return $this->html5 ? "<hr>\n" : "<hr />\n";
38	}
39
40}