Php 将纯文本包装在div中,然后再包装另一个html元素

Php 将纯文本包装在div中,然后再包装另一个html元素,php,javascript,Php,Javascript,好吧,那可能没什么意义。。。让我举例说明: 伊普苏姆雅达雅达雅达雅达。。。 我想将“lorem ipsum yada yada yada yada…”包装在标签中,但我不确定在不包装的情况下如何继续 如果用JavaScript或jQuery更容易实现,我也同意。我的大部分网站都半依赖于一些JS 谢谢 包装一个 如果我能很好地理解你的问题,那就是……:) 包装一个 如果我能很好地理解你的问题,那就是……:) 使用jquery $('.csl-entry').contents().fil

好吧,那可能没什么意义。。。让我举例说明:


伊普苏姆雅达雅达雅达雅达。。。

我想将“lorem ipsum yada yada yada yada…”包装在
标签中,但我不确定在不包装
的情况下如何继续

如果用JavaScript或jQuery更容易实现,我也同意。我的大部分网站都半依赖于一些JS

谢谢

包装一个

如果我能很好地理解你的问题,那就是……:)

包装一个

如果我能很好地理解你的问题,那就是……:)

使用jquery

$('.csl-entry').contents().filter(function() {

  return this.nodeType == 3;

}).wrap('<p></p>')
            })
$('.csl entry').contents().filter(函数(){
返回this.nodeType==3;
}).wrap(“

”) })
请注意,这将包装作为csl条目子项的所有文本节点-因此,如果div中有任何多余的空格,您将得到一个空的段落标记。

使用jquery

$('.csl-entry').contents().filter(function() {

  return this.nodeType == 3;

}).wrap('<p></p>')
            })
$('.csl entry').contents().filter(函数(){
返回this.nodeType==3;
}).wrap(“

”) })

请注意,这将包装作为csl条目子项的所有文本节点-因此,如果div中有任何多余的空格,您将得到一个空的段落标记。

这样写有什么好处,比如:$('.csl条目').contents().filter(函数(){if(this.nodeType==3){$(this.wrap('

');});既然他可以修复源HTML,为什么还要使用JS?我无法修复源HTML。它是通过第三方(Zotero)拉进来的。一团糟。相信我,如果我能…@Jacob-我会说Michal的方法更正确,因为它保留了

filter()
的语义,也就是说,它实际上使用它进行过滤,然后对结果使用
wrap()
。您的方法会起作用,但由于过滤器的结果不会发生任何变化,因此您可能只需要使用
each()
。这样写有什么好处吗,比如说:$('.csl entry').contents().filter(function(){if(this.nodeType==3){$(this.wrap('

');});既然他可以修复源HTML,为什么还要使用JS?我无法修复源HTML。它是通过第三方(Zotero)拉进来的。一团糟。相信我,如果我能…@Jacob-我会说Michal的方法更正确,因为它保留了

filter()
的语义,也就是说,它实际上使用它进行过滤,然后对结果使用
wrap()
。您的方法会起作用,但并不是真正的过滤,因为过滤结果不会发生任何变化,所以您最好使用
each()
。我无法控制源标记。我必须用php或JS来破解它。由于我对JS比较熟悉,我可能会选择这条路线,尽管对PHP的支持会更好(对于那些禁用JS的人来说)…用PHP破解要好得多-当你确定了服务器环境时,为什么还要依赖客户端变量?我无法控制源标记。我必须用php或JS来破解它。由于我对JS比较熟悉,我可能会选择这条路线,尽管对PHP的支持会更好(对于那些禁用JS的人来说)…用PHP破解要好得多-当你确定了服务器环境时,为什么还要依赖客户端漫游呢?