以下是我正在嘗試完成的內容。我們Magento網店的CMS編輯器,有一個插入<!-- pagebreak -->
標籤的按鈕。我想用這個,創建一個閱讀更多的功能。我想我會搜索/替換這個標籤來做到這一點。用正則表達式替換分頁標記
我想在<p>
標籤內進行搜索,我希望人們能夠按照自己的意願頻繁使用此標籤。
想這是我原來的HTML:
<p>This is my example text, but<!-- pagebreak --> this should be readable after 'click more'<!-- pagebreak --> with even more click more possible</p>
我想將其轉換爲這樣的事情。我覺得第一個是最容易實現,也許是在一段時間做一個的preg_replace循環?第二個可能是清潔劑/更好的HTML(少嵌套)
<p>This is my example text, but <a href="#" onClick='#'>read more</a><div class='hiddenreadmore' id='hiddenreadmore-1'> this should be readable after 'click more'<a href="#" onClick='#'>read more</a><div class='hiddenreadmore' id='hiddenreadmore-2'> with even more click more possible</div></div></p>
或
<p>This is my example text, but <a href="#" onClick='#'>read more</a><div class='hiddenreadmore' id='hiddenreadmore-1'> this should be readable after 'click more'<a href="#" onClick='#'>read more</a></div><div class='hiddenreadmore' id='hiddenreadmore-2'> with even more click more possible</div></p>
於是我想出了這一點,但我覺得應該有辦法做到這一點請換一個。
$pattern = '#\<p\>(.+?)\<\!-- pagebreak --\>(.+?)\<\/p\>#s';
$count = true;
while ($count) {
$text = preg_replace($pattern, '<p>$1 <a href="#">read more</a><div class="hidden">$2</div></p>', $text, -1, $count);
}
我必須檢查,否則我可能會無意中「隱藏」的頁面的其餘部分。這樣我就可以「強制」用戶只在段落內使用它。 – rolandow 2012-04-11 14:47:58
恐怕如果你真的需要檢查針是否在一個段落中,你的選擇是我能想到的唯一的選擇。 – Manuel 2012-04-12 09:06:22