我从平台中的源复制文本。它是一个私人平台,有一个框,您可以在其中键入文本。有一个按钮,您可以在其中看到HTML源代码。我没有问题地复制了许多文本。当我尝试复制粘贴上面的内容时,我注意到在HTML代码中会生成一个特定的标记。
<p><strong><em><span lang="en-gb">Week of the 5th of September</span></em></strong></p>
所以,我的问题是,这怎么可能。复制后的文本会生成特定标签吗?因此,在复制过程中,有些东西会被我们可以看到的文本复制出来...而且,这可能会发生,因为源文本(即将被复制)包含unicode设置不支持的字符在平台(网络应用程序)?
我很想知道发生了什么。
答案 0 :(得分:3)
基于你说它有一个按钮,你可以查看源,这听起来像一个WYSIWIG(你看到的是你得到的)编辑器,如CKeditor,TinyMCE,Froala等。他们采用标准的HTML textarea元素和使用Javascript和CSS将它们转换为更强大的编辑器。它们允许您在textarea中进行简单的文本格式化,上传图像,查看源等。
他们在博客中使用很多,并且为那些不编写代码但希望能够管理和维护网站内容的人进行内容编辑。例如,如果您在其中一个文本中键入文本的“段落”,它将使用Javascript自动用适当的<p>
标记包装它。
在你的情况下,你在这个框中添加内容,它只是使用Javascript将格式应用于它。如果你只是输入框,而不是复制/粘贴,它也会这样做。
以下是WYSIWIG编辑器的一些链接,以便您可以了解它们的运作方式:
http://ckeditor.com/
https://www.tinymce.com/
https://www.froala.com/wysiwyg-editor
有趣的事实:您在Stack Overflow上键入问题时使用的编辑器使用其中一个。 https://meta.stackexchange.com/questions/121981/stackoverflow-official-wmd-editor
答案 1 :(得分:1)
它没有太多信息,所以我会猜测:
对于<strong><em>
:网站最终可能会使用带有contenteditable="true"
属性(more info on mdn)的div作为输入法。然后,当您粘贴其他已经具有粗体或斜体标记的应用程序中的文本时,它将转换为html标记。
<span lang="en-gb">
可能来自浏览器,其他应用程序或网站,通过分析文本并添加此内容。