在wordpress中,我沿着短代碼的內容輸出了一些<div>
。問題是因爲wordpress將<p></p>
標籤中的段落放在<div>
所在的位置。 我想要實現的是用<br />
替代<p> </p>
,其圍繞我的短代碼。 例如,如果我的內容是這樣的:替換<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>
必須在該段包含)
LE:下面的jQuery的工作。不過,我仍然在等待PHP中更優雅的解決方案。
$('p').each(function() {
if ($(this).next().find('.measurement_value').length > 0)
{
$(this).replaceWith( '<br />' + $(this).html());
}
});
「WordPress的往裏面'
'標記段落」,並稱remove_filter('the_content', 'wpautop');
擺脫<p>
??? – marekful這是在輸出內容之前在服務器端應該解決的問題。 – adeneo
這就是我試圖在PHP中實現的內容,過濾內容;) –