在 wordpress 中,我在<div>
我的简码内容中输出一些 s。问题是因为 wordpress 将段落放在<p></p>
标签内,该行在所在的位置被打破<div>
。我想要实现的是<p> </p>
用<br />
. 例如,如果我的内容如下所示:
<p>[shortcodes attr='somethig']value[/shortcode] text<br />
[shortcodes attr='somethig']value[/shortcode] text<br />
text<br />
text [shortcodes attr='somethig']value[/shortcode] text </p>
<p>text<br />
text [shortcodes attr='somethig']value[/shortcode] text<br />
text</p>
<p> text without shortcode </p>
<p>text [shortcodes attr='somethig']value[/shortcode] text </p>
我需要它来转换它
<br/>[shortcodes attr='somethig']value[/shortcode] text<br />
[shortcodes attr='somethig']value[/shortcode] text<br />
text<br />
text [shortcodes attr='somethig']value[/shortcode] text <br />
<br/>text<br />
text [shortcodes attr='somethig']value[/shortcode] text<br />
text<br/>
<p> text without shortcode </p>
<br/>text [shortcodes attr='somethig']value[/shortcode] text <br/>
我试图自己解决问题,但我的 preg_replace 表达式正在捕获整个内容,而不是单个<p> </p>
块。
使用 jQuery 的解决方案也可以(但<div>
段落中必须包含具有特定类的 a 而不是短代码)
LE:以下 jQuery 工作。但是,我仍在等待 PHP 中更优雅的解决方案。
$('p').each(function() {
if ($(this).next().find('.measurement_value').length > 0)
{
$(this).replaceWith( '<br />' + $(this).html());
}
});