html 像 php 中的 whatsapp 一样的可视化编辑
html visual editing like whatsapp in php
whatsapp 的最新版本引入了一些消息样式,假设我们想写这样的东西
input
这是一个包含样式的 ~statement~
output
这是一个 声明,里面有样式
即使是 Whosebug 也有这种最小的样式,看起来很棒,我们想在我们的平台上实现这一点,教师在给学生评论时可以使用 ol、ul、粗体、斜体,但我们也想确保他们不允许使用传统的 html 标签,因为当标签更改时我们必须进行更改,而不是我们喜欢这种方法,您可以在 word 中添加特殊字符并在输出中按照您想要的方式转换它们。
我不知道这种编辑的具体条款是什么,请忽略。
语言 因为我们的平台在 php
中已经 运行 我们想在 php
中实现它
思考过程 我们认为 regex
可能可行,但不知道如何实施 ol、ul,我们不太确定这是否是一个正确的实施方法
为什么不允许传统的 html 标签
- 并非所有人都知道传统的 html 标签
- 想要保护我们的应用程序安全
您可以像这样使用正则表达式:
/~([\w]*)~/
使用preg_replace()
功能,您可以将~
符号之间的内容替换为您需要的所有内容。例如:
https://regex101.com/r/vD8wI4/2
请注意替换选项卡,我将 ~text~
替换为 <pre>text</pre>
。
适用于粗体、斜体等的相同技术:
粗体:
/\*([\w]*)\*/
斜体:
/_([\w]*)_/
等等
祝你好运。
这里有一些例子:
// traditional markdown and parse full text
$parser = new \cebe\markdown\Markdown();
$parser->parse($markdown);
// use github markdown
$parser = new \cebe\markdown\GithubMarkdown();
$parser->parse($markdown);
// use markdown extra
$parser = new \cebe\markdown\MarkdownExtra();
$parser->parse($markdown);
// parse only inline elements (useful for one-line descriptions)
$parser = new \cebe\markdown\GithubMarkdown();
$parser->parseParagraph($markdown);
whatsapp 的最新版本引入了一些消息样式,假设我们想写这样的东西
input
这是一个包含样式的 ~statement~
output
这是一个 声明,里面有样式
即使是 Whosebug 也有这种最小的样式,看起来很棒,我们想在我们的平台上实现这一点,教师在给学生评论时可以使用 ol、ul、粗体、斜体,但我们也想确保他们不允许使用传统的 html 标签,因为当标签更改时我们必须进行更改,而不是我们喜欢这种方法,您可以在 word 中添加特殊字符并在输出中按照您想要的方式转换它们。
我不知道这种编辑的具体条款是什么,请忽略。
语言 因为我们的平台在 php
中已经 运行 我们想在 php
思考过程 我们认为 regex
可能可行,但不知道如何实施 ol、ul,我们不太确定这是否是一个正确的实施方法
为什么不允许传统的 html 标签
- 并非所有人都知道传统的 html 标签
- 想要保护我们的应用程序安全
您可以像这样使用正则表达式:
/~([\w]*)~/
使用preg_replace()
功能,您可以将~
符号之间的内容替换为您需要的所有内容。例如:
https://regex101.com/r/vD8wI4/2
请注意替换选项卡,我将 ~text~
替换为 <pre>text</pre>
。
适用于粗体、斜体等的相同技术:
粗体:
/\*([\w]*)\*/
斜体:
/_([\w]*)_/
等等
祝你好运。
这里有一些例子:
// traditional markdown and parse full text
$parser = new \cebe\markdown\Markdown();
$parser->parse($markdown);
// use github markdown
$parser = new \cebe\markdown\GithubMarkdown();
$parser->parse($markdown);
// use markdown extra
$parser = new \cebe\markdown\MarkdownExtra();
$parser->parse($markdown);
// parse only inline elements (useful for one-line descriptions)
$parser = new \cebe\markdown\GithubMarkdown();
$parser->parseParagraph($markdown);