1<?php 2/* Copyright (C) 2008-2013 Laurent Destailleur <eldy@users.sourceforge.net> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <https://www.gnu.org/licenses/>. 16 * or see https://www.gnu.org/ 17 */ 18 19/** 20 * \file htdocs/core/lib/parsemd.lib.php 21 * \brief This file contains functions dedicated to MD parsind. 22 */ 23 24/** 25 * Function to parse MD content into HTML 26 * 27 * @param string $content MD content 28 * @param string $parser 'parsedown' or 'nl2br' 29 * @param string $replaceimagepath Replace path to image with another path. Exemple: ('doc/'=>'xxx/aaa/') 30 * @return string Parsed content 31 */ 32function dolMd2Html($content, $parser = 'parsedown', $replaceimagepath = null) 33{ 34 if (is_array($replaceimagepath)) { 35 foreach ($replaceimagepath as $key => $val) { 36 $keytoreplace = ']('.$key; 37 $valafter = ']('.$val; 38 $content = preg_replace('/'.preg_quote($keytoreplace, '/').'/m', $valafter, $content); 39 } 40 } 41 if ($parser == 'parsedown') { 42 include_once DOL_DOCUMENT_ROOT.'/includes/parsedown/Parsedown.php'; 43 $Parsedown = new Parsedown(); 44 $content = $Parsedown->text($content); 45 } else { 46 $content = nl2br($content); 47 } 48 49 return $content; 50} 51 52 53/** 54 * Function to parse MD content into ASCIIDOC 55 * 56 * @param string $content MD content 57 * @param string $parser 'dolibarr' 58 * @param string $replaceimagepath Replace path to image with another path. Exemple: ('doc/'=>'xxx/aaa/') 59 * @return string Parsed content 60 */ 61function dolMd2Asciidoc($content, $parser = 'dolibarr', $replaceimagepath = null) 62{ 63 if (is_array($replaceimagepath)) { 64 foreach ($replaceimagepath as $key => $val) { 65 $keytoreplace = ']('.$key; 66 $valafter = ']('.$val; 67 $content = preg_replace('/'.preg_quote($keytoreplace, '/').'/m', $valafter, $content); 68 } 69 } 70 //if ($parser == 'dolibarr') 71 //{ 72 $content = preg_replace('/<!--.*-->/msU', '', $content); 73 //} 74 //else 75 //{ 76 // $content = $content; 77 //} 78 79 return $content; 80} 81