使用preg_place清理小部件输出的HTML

时间:2012-07-24 作者:fightstarr20

我正在一个wordpress网站上工作,该网站使用插件/边栏小部件。我遇到的问题是小部件生成的HTML无效,下面是一个例子。。。

<p>
<div>I am item 1</div>
<div>I am item 2</div>
<div>I am item 3</div>
<div>I am item 4</div>
<p></p>
据我所知,这段代码有两个错误,第一个错误是它在段落中使用了div(块级元素)。第二个是有一个额外的P标记,它在末尾没有关闭。

我已经和widget开发人员谈过了,尽管这是一个昂贵且付费的插件,但我并不急于解决这个问题。

我将尝试使用preg\\u replace来清理代码,我想知道是否有人有任何示例或教程可以这样做,并且只针对小部件容器中的代码?

我意识到这个问题最好放在stackoverflow上,但我会先试试运气:)

1 个回复
SO网友:Chris Cox

在不破坏转发兼容性的情况下,最干净的方法是创建自己的小部件,扩展要修复的小部件类。将其剥离回构造函数和widget方法的基本要素(在其中修复HTML),然后在原始widget之后向widgets\\u init附加一个函数,该函数注册您的widget并取消注册原始widget。

结束

相关推荐

Widgets in PHP files?

有没有可能让Wordpress上的每个小部件都以不同的方式运行。php文件我有一个包含12个元素的页面,我想让每个元素都成为一个小部件,以便以后更容易管理/编辑它们,但如果它来自php页面,而不是来自管理面板上的代码块,则会更好。