jjzjj

javascript - TinyMCE - 允许文本作为 <table> 和/或 <tr> 的直接子元素

coder 2025-01-21 原文

我已经苦苦挣扎了大约 3 个小时,既测试解决方案又像疯子一样在谷歌上搜索。 我还没有找到解决这个特定问题的方法。

问题: TinyMCE 不允许我将文本作为直接“子项”插入:

<table>
<tr>
<tbody>

示例:我使用 TinyMCE Option > Source Code。
输入:

<table>
<tr></tr>
 *[generated]*
</table>

然后我在“源代码”窗口中按“确定”时,输出如下:

*[generated]*
<table>
<tbody>
<tr></tr>
</tbody>
</table>

会发生什么是 TinyMCE 将标记验证为无效并将我的“文本”([生成])添加到表外。

原因:我想要这个解决方案,因为 cms 引擎采用静态 HTML 并找到特殊元素来插入数据动态数据。数据将包含有效的 HTML,之后我的 [generated] 标签将不会存在于生成的页面中。

我做了什么?我一直在尝试:

extend_valid_elements: "table[#text], table[text], tr[#text],tr[text]",
valid_elements:        "table[theader|tbody|#text|]",
valid_children:        "table[theader|tbody|#text]"

我不可能粘贴我一直试图允许的所有不同元素。但是现在我没主意了。而且我不想为此做一个肮脏的黑客。

有没有人可以帮助我? 我的设置都是标准的,我只是添加了一些插件。

verify_html: false, cleanup: false,

但不管是什么插件/设置造成的,我都会删除。

英语不是我的母语,但我希望我能说清楚。

最佳答案

我有一些好消息要告诉你。 TinyMCE 文档建议 valid_elements 和 valid_children 允许一些特殊的控制字符。其中一个字符是允许所有选项。

但是,它仍然需要是一个以 <> 而不是 # 开头和结尾的元素。更好的可能是评论,所以

也就是说,您可以将 valid_children 设置为“”或“##”。不确定它将如何应对更换。

我还会看一下您的 cms 文档。如果它足够聪明来处理 html 属性,你可以走那条路,或者我们上面提到的 html 注释。

最后,您可以使用 beforeload 和 beforesave 样式函数作为 MCE 的一部分或在您自己的代码中将任何#something# 转换成然后从中返回。

http://www.tinymce.com/wiki.php/Configuration:valid_elements http://www.tinymce.com/wiki.php/Configuration:valid_children

关于javascript - TinyMCE - 允许文本作为 <table> 和/或 <tr> 的直接子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20290606/

有关javascript - TinyMCE - 允许文本作为 <table> 和/或 <tr> 的直接子元素的更多相关文章

  1. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  2. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

  3. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  4. ruby-on-rails - rspec should have_select ('cars' , :options => ['volvo' , 'saab' ] 不工作 - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request

  5. ruby-on-rails - RSpec:避免使用允许接收的任何实例 - 2

    我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_

  6. ruby-on-rails - Nokogiri:使用 XPath 搜索 <div> - 2

    我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll

  7. ruby-on-rails - Prawn PDF : I need to generate nested tables - 2

    我需要一个表,其中行实际上是2行表,一个嵌套表是..我怎样才能在Prawn中做到这一点?也许我需要延期..但哪一个? 最佳答案 现在支持子表:Prawn::Document.generate("subtable.pdf")do|pdf|subtable=pdf.make_table([["sub"],["table"]])pdf.table([[subtable,"original"]])end 关于ruby-on-rails-PrawnPDF:Ineedtogeneratenested

  8. ruby - 字符串文字中的转义状态作为 `String#tr` 的参数 - 2

    对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一

  9. ruby-on-rails - 应用程序的名称是否可以作为变量使用? - 2

    当我创建一个Rails应用程序时,控制台:railsnewfoo我的代码可以使用字符串“foo”吗?puts"Yourapp'snameis"+app_name_bar 最佳答案 Rails.application.class将为您提供应用程序的全名(例如YourAppName::Application)。从那里您可以使用Rails.application.class.parent获取模块名称。 关于ruby-on-rails-应用程序的名称是否可以作为变量使用?,我们在StackOve

  10. ruby-on-rails - 使用作为方法的值在 ruby​​ 中搜索哈希 - 2

    我在搜索我的值是方法的散列时遇到问题。我只是不想运行plan_type与键匹配的方法。defmethod(plan_type,plan,user){foo:plan_is_foo(plan,user),bar:plan_is_bar(plan,user),waa:plan_is_waa(plan,user),har:plan_is_har(user)}[plan_type]end目前如果我传入“bar”作为plan_type,所有方法都会运行,我怎么能只运行plan_is_bar方法呢? 最佳答案 这个变体怎么样?defmethod

随机推荐