Changing the italic pattern and adding the link handling
parent
bf26f52bb3
commit
9a78160141
|
@ -6,14 +6,16 @@ final class ArticleParser
|
||||||
const PATTERN_DATE = "|\./data/articles/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+).txt|";
|
const PATTERN_DATE = "|\./data/articles/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+).txt|";
|
||||||
const PATTERN_TAGS = "/^\{(([a-zA-Z0-9]+,*)+)\}$/";
|
const PATTERN_TAGS = "/^\{(([a-zA-Z0-9]+,*)+)\}$/";
|
||||||
const PATTERN_IMG = "/^([a-zA-Z0-9\-_\.]+\.(jpg|png)) \((.*)\)$/";
|
const PATTERN_IMG = "/^([a-zA-Z0-9\-_\.]+\.(jpg|png)) \((.*)\)$/";
|
||||||
const PATTERN_BOLD = "/\*([^*]*)\*/";
|
const PATTERN_BOLD = "/\*([^*]+)\*/";
|
||||||
const PATTERN_ITALIC = "|/([^/]*)/|";
|
const PATTERN_ITALIC = "/~([^~]+)~/";
|
||||||
const PATTERN_UNDERLINE = "/_([^_]*)_/";
|
const PATTERN_UNDERLINE = "/_([^_]+)_/";
|
||||||
|
const PATTERN_LINK = "/\[(.+) \(([a-z]+:\/\/.+)\)\]/";
|
||||||
const REPLACE_DATE = "$1-$2-$3";
|
const REPLACE_DATE = "$1-$2-$3";
|
||||||
const REPLACE_REF = "$4";
|
const REPLACE_REF = "$4";
|
||||||
const REPLACE_BOLD = "<strong>$1</strong>";
|
const REPLACE_BOLD = "<strong>$1</strong>";
|
||||||
const REPLACE_ITALIC = "<em>$1</em>";
|
const REPLACE_ITALIC = "<em>$1</em>";
|
||||||
const REPLACE_UNDERLINE = "<u>$1</u>";
|
const REPLACE_UNDERLINE = "<u>$1</u>";
|
||||||
|
const REPLACE_LINK = "<a href=\"$2\">$1</a>";
|
||||||
|
|
||||||
private bool $in_p = false;
|
private bool $in_p = false;
|
||||||
private array $content = [];
|
private array $content = [];
|
||||||
|
@ -100,12 +102,14 @@ final class ArticleParser
|
||||||
$patterns = [
|
$patterns = [
|
||||||
self::PATTERN_BOLD,
|
self::PATTERN_BOLD,
|
||||||
self::PATTERN_ITALIC,
|
self::PATTERN_ITALIC,
|
||||||
self::PATTERN_UNDERLINE
|
self::PATTERN_UNDERLINE,
|
||||||
|
self::PATTERN_LINK
|
||||||
];
|
];
|
||||||
$replacements = [
|
$replacements = [
|
||||||
self::REPLACE_BOLD,
|
self::REPLACE_BOLD,
|
||||||
self::REPLACE_ITALIC,
|
self::REPLACE_ITALIC,
|
||||||
self::REPLACE_UNDERLINE
|
self::REPLACE_UNDERLINE,
|
||||||
|
self::REPLACE_LINK
|
||||||
];
|
];
|
||||||
return preg_replace($patterns, $replacements, htmlspecialchars($line, ENT_HTML5, "UTF-8"));
|
return preg_replace($patterns, $replacements, htmlspecialchars($line, ENT_HTML5, "UTF-8"));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue