我有使用ckeditor生成的html文本,在我的文本中有一些非html标记,它们没有被显示,因为它们被认为是html标记。
我想将所有非HTML标记替换为HTML实体。我用str_replace做了大多数标记,但现在我有大约100个不同的标记,像
有人能用正则表达式或任何能帮助我的东西来帮助我吗?
我尝试了
DOMDocument
,它将这些其他标记视为无效标记并抛出警告。
我尝试了正则表达式,但这太冒险了,因为它可以将我的超文本标记语言转换为超文本标记语言实体。
伙计们,我不想删除这些非HTML标记,而是想通过将它们转换为HTML实体来保留它们,以便它们可以显示在屏幕上。
也许问题在于CKEditor,它编码字符的
CKEDITOR.config.basicEntities = false;
CKEDITOR.config.entities = false;
CKEDITOR.config.entities_greek = false;
CKEDITOR.config.entities_latin = false;
CKEDITOR.config.htmlEncodeOutput = false;
CKEDITOR.config.entities_processNumerical = false;
如果您希望htmlentities忽略您的自定义标记,而这些标记在html中恰好具有特殊意义,那么不,我不认为htmlentities在该级别上是可自定义的,您必须使用另一个html编码函数。但是,如果您的问题是str_replace调用太多,只需使用strtr即可。例如,整个事情:
$html=str_replace('<ip address>','127.0.0.1',str_replace('<user id>','1337',str_replace('<all |ORACLE_SID>','839781233213',$html)));
可替换为对strtr的1次调用:
$html=strtr($html,array(
'<ip address>'=>'127.0.0.1',
'<user id>'=>'1337',
'<all |ORACLE_SID>'=>'839781233213',
));
这将导致更漂亮的代码、更小的代码和更快的执行,并避免了1 replace的replace键是另一个1的replace值的一部分的问题(在这种情况下,str_replace将替换第一个1的replace值,但strtrtr不会)。
我不知道你想如何删除标签,但使用
echo htmlentities('<127.0.0.1>');
它将在开始、结束插入符号中输出ip地址。
定义和使用自定义标记可以吗?(这不会与将来的html标记冲突)-通过更改outerHTML替换/呈现这些标记?? 我在下面创建了一个演示,看起来效果不错 问题的最新情况: 让我进一步解释一下。请假设浏览器上启用了JavaScript-也就是说,应用程序不应该在没有javascript的情况下运行。 我见过使用自定义属性在指定标记中定义自定义行为的库。例如,角度。js大量使用自定义属性。(它还有关于
我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加
本文向大家介绍SGML(标准通用标记语言)和HTML(超文本标记语言),XML(可扩展标记语言)和HTML的之间有什么关系?相关面试题,主要包含被问及SGML(标准通用标记语言)和HTML(超文本标记语言),XML(可扩展标记语言)和HTML的之间有什么关系?时的应答技巧和注意事项,需要的朋友参考一下
导出为HTML会生成以下内容: 报告在页面上居中,但应左对齐。 使用JRHtmlExporter的HTML\u HEADER参数看起来很有希望,但这些类已被弃用。这就是解决方案: 现在我必须使用网络。旧金山。jasperreports。出口HtmlExporter和net。旧金山。jasperreports。出口SimpleHtmlReportConfiguration类,如下所示: 您将如何修复
这是我的密码 我想替换字体标签,并把span标签。在这将取代第一个字体标签但不是第二个标签
我想选择强标签内的文本,但不在其下的div。。。 有没有可能直接与jsoup合作? 我的选择尝试(不工作,选择强标签内的完整内容): HTML: