function onStartNoticeSave($notice) { // Only run this on local notices if ($notice->isLocal()) { $text = $notice->content; // From /lib/util.php::common_render_text // We don't want to call it directly since we don't want to // run common_linkify() on the text $text = common_remove_unicode_formatting($text); $text = preg_replace('/[\\x{0}-\\x{8}\\x{b}-\\x{c}\\x{e}-\\x{19}]/', '', $text); $text = common_replace_urls_callback($text, 'common_linkify'); // Link #hashtags $rendered = preg_replace_callback('/(^|\\"\\;|\'|\\(|\\[|\\{|\\s+)#([\\pL\\pN_\\-\\.]{1,64})/u', function ($m) { return "{$m[1]}#" . common_tag_link($m[2]); }, $text); // Link @mentions, !mentions, @#mentions $rendered = common_linkify_mentions($rendered, $notice->getProfile(), $notice->hasParent() ? $notice->getParent() : null); // Prevent leading #hashtags from becoming headers by adding a backslash // before the "#", telling markdown to leave it alone // $repl_rendered = preg_replace('/^#[\pL\pN_\-\.]{1,64}/u', 'replaced!', $rendered); $repl_rendered = preg_replace('/^#<span class="tag">/u', '\\\\\\0', $rendered); // Only use the replaced value from above if it returned a success if ($rendered !== null) { $rendered = $repl_rendered; } // handle Markdown link forms in order not to convert doubly. $rendered = preg_replace('/\\[([^]]+)\\]\\((<a [^>]+>)([^<]+)<\\/a>\\)/u', '\\2\\1</a>', $rendered); // Convert Markdown to HTML $notice->rendered = \Michelf\Markdown::defaultTransform($rendered); } return true; }
function render_text($text) { $text = common_remove_unicode_formatting($text); $text = preg_replace('/[\\x{0}-\\x{8}\\x{b}-\\x{c}\\x{e}-\\x{19}]/', '', $text); $text = common_replace_urls_callback($text, 'common_linkify'); // Link #hashtags $rendered = preg_replace_callback('/(^|\\"\\;|\'|\\(|\\[|\\{|\\s+)#([\\pL\\pN_\\-\\.]{1,64})/u', function ($m) { return "{$m[1]}#" . common_tag_link($m[2]); }, $text); return $rendered; }
function common_render_text($text) { $text = common_remove_unicode_formatting($text); $text = nl2br(htmlspecialchars($text)); $text = preg_replace('/[\\x{0}-\\x{8}\\x{b}-\\x{c}\\x{e}-\\x{19}]/', '', $text); $text = common_replace_urls_callback($text, 'common_linkify'); $text = preg_replace_callback('/(^|\\"\\;|\'|\\(|\\[|\\{|\\s+)#([\\pL\\pN_\\-\\.]{1,64})/u', function ($m) { return "{$m[1]}#" . common_tag_link($m[2]); }, $text); // XXX: machine tags return $text; }