我有一个包含多个H1标题的页面,后跟文本,依此类推。 例如:
<h1>Title 1</h1>Some text here
<h1>Title 2</h1>Some more text here
<h1>Title 3</h1>Even more text here
等
我想要做的是创建一个元素数组,使用上面的分隔符<h1>ANY TEXT</h1>
来爆炸HTML,我在$ output变量中。
最终目的是在结尾</h1>
和下一个<h1>
之间计算文本的strlen,如果它高于200个字符,则将其隐藏在<span>
display:none
内{{1}} 1}}所以用户可以按“全部显示”取消隐藏。
我怎么能得到它?
答案 0 :(得分:1)
在将页面发送到客户端之前,您可以使用SimplePHPDom执行此操作:
ob_start();
// build page here
$html = ob_get_clean();
$dom = str_get_html($html);
$headings = $dom->find('h1');
foreach($headings as $h1) {
// process node to add CSS to hide node and change text to 'show more'
}
这也可以通过jQuery / MooTools在客户端完成,基本上是相同的过程(减去缓冲捕获的东西)。