我在按 html 标签拆分文本时遇到问题。我正在使用 CKEditor 编辑文本并将结果保存到数据库。为了更好地理解我的问题,我将示例文本从 DB
string(3351) "<p>
Etiam at auctor massa. In eget turpis a leo auctor molestie. Fusce luctus felis ac porttitor tempor. Etiam est magna, convallis a consectetur eget, fermentum ac risus. Etiam ut dapibus eros. Ut non erat et enim scelerisque fermentum. Praesent cursus sollicitudin pulvinar. Cras faucibus mauris eget velit elementum gravida. Vestibulum vel leo ut justo pretium gravida a non ligula. Aliquam imperdiet metus ut odio varius viverra et at augue.</p>
<div style="page-break-after: always;"><span style="display: none;"> </span></div>
<p>
Aenean aliquet rutrum fringilla. Pellentesque non ultrices erat, non luctus lectus. Pellentesque eget neque eget augue imperdiet venenatis eu nec odio. Nulla suscipit enim et nunc consequat, sed venenatis est consectetur. In posuere, diam convallis vestibulum congue, augue turpis vulputate lacus, malesuada luctus turpis magna adipiscing erat. Pellentesque id dui aliquam, viverra nunc ac, sagittis sapien. Phasellus nec consectetur nisl, vitae facilisis metus. Donec odio mauris, egestas vitae dolor sed, rutrum sollicitudin massa. Vestibulum fringilla, ante et aliquet pharetra, lorem nisl posuere dui, at pellentesque velit dui in purus. Aenean nec accumsan arcu. Proin dapibus orci ac est vestibulum, interdum pharetra sem vestibulum. Donec ut vehicula elit. Duis feugiat neque vitae purus molestie sodales. Nulla leo nibh, rhoncus a nisi sed, hendrerit laoreet tortor.</p>
"
如您所见,对于页面制动,CKEditor 放置了带有样式属性的 HTML 标记
style="page-break-after: always;"
我想用“页面刹车标记”分割文本。为此,我正在使用此代码。
$aMatches = preg_split('#%page_break%#', $sText);
我应该怎么做才能通过删除所有 html“页面制动”DIV 来拆分此文本?
提前感谢,对不起我的英语
--
格式化代码
<div style="page-break-after: always;">
<span style="display: none;"> </span>
--
结果
$aMatches = preg_split('/<div style="page-break-after\: always;\">(.*)<\/div>/', $aNews['text_long']);
当我尝试使用此代码时,我收到:
string(3351) "
<p>
Fusce imperdiet diam non neque pulvinar ultrices. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut congue sapien diam, ac sollicitudin ipsum ullamcorper sit amet. Quisque consectetur pulvinar congue. Aenean a blandit felis. Morbi hendrerit bibendum nisi, sed ultrices libero elementum ultrices. Nulla ullamcorper massa non neque ultrices imperdiet. In sagittis lacus neque, lobortis adipiscing nunc bibendum id. Etiam sed molestie lacus. Nullam dapibus mauris eget nisi congue semper. Donec elementum eu magna sit amet tincidunt. Vivamus tincidunt placerat egestas. Mauris fringilla nunc eget purus adipiscing, eu laoreet erat pretium. Curabitur aliquam vestibulum auctor. Donec quis consequat nibh.</p>
<p>
 </p>
<div style="page-break-after: always;">
<span style="display: none;"> </span></div>
<p>
Aenean aliquet rutrum fringilla. Pellentesque non ultrices erat, non luctus lectus. Pellentesque eget neque eget augue imperdiet venenatis eu nec odio. Nulla suscipit enim et nunc consequat, sed venenatis est consectetur. In posuere, diam convallis vestibulum congue, augue turpis vulputate lacus, malesuada luctus turpis magna adipiscing erat. Pellentesque id dui aliquam, viverra nunc ac, sagittis sapien. Phasellus nec consectetur nisl, vitae facilisis metus. Donec odio mauris, egestas vitae dolor sed, rutrum sollicitudin massa. Vestibulum fringilla, ante et aliquet pharetra, lorem nisl posuere dui, at pellentesque velit dui in purus. Aenean nec accumsan arcu. Proin dapibus orci ac est vestibulum, interdum pharetra sem vestibulum. Donec ut vehicula elit. Duis feugiat neque vitae purus molestie sodales. Nulla leo nibh, rhoncus a nisi sed, hendrerit laoreet tortor.</p>
"
但是,当我使用这个时:
$aMatches = preg_split('/<div style="page-break-after\: always;\">/', $aNews['text_long']);
我收到:
array(2) {
[0]=>
string(1230) "
<p>
Fusce imperdiet diam non neque pulvinar ultrices. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut congue sapien diam, ac sollicitudin ipsum ullamcorper sit amet. Quisque consectetur pulvinar congue. Aenean a blandit felis. Morbi hendrerit bibendum nisi, sed ultrices libero elementum ultrices. Nulla ullamcorper massa non neque ultrices imperdiet. In sagittis lacus neque, lobortis adipiscing nunc bibendum id. Etiam sed molestie lacus. Nullam dapibus mauris eget nisi congue semper. Donec elementum eu magna sit amet tincidunt. Vivamus tincidunt placerat egestas. Mauris fringilla nunc eget purus adipiscing, eu laoreet erat pretium. Curabitur aliquam vestibulum auctor. Donec quis consequat nibh.</p>
"
[1]=>
string(1671) "
<span style="display: none;"> </span></div>
<p>
Aenean aliquet rutrum fringilla. Pellentesque non ultrices erat, non luctus lectus. Pellentesque eget neque eget augue imperdiet venenatis eu nec odio. Nulla suscipit enim et nunc consequat, sed venenatis est consectetur. In posuere, diam convallis vestibulum congue, augue turpis vulputate lacus, malesuada luctus turpis magna adipiscing erat. Pellentesque id dui aliquam, viverra nunc ac, sagittis sapien. Phasellus nec consectetur nisl, vitae facilisis metus. Donec odio mauris, egestas vitae dolor sed, rutrum sollicitudin massa. Vestibulum fringilla, ante et aliquet pharetra, lorem nisl posuere dui, at pellentesque velit dui in purus. Aenean nec accumsan arcu. Proin dapibus orci ac est vestibulum, interdum pharetra sem vestibulum. Donec ut vehicula elit. Duis feugiat neque vitae purus molestie sodales. Nulla leo nibh, rhoncus a nisi sed, hendrerit laoreet tortor.</p>
"
}