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 は style 属性を持つ HTML タグを配置しました
style="page-break-after: always;"
「改ページマーカー」でテキストを分割したいのですが。このために、私はこのコードを使用しています。
$aMatches = preg_split('#%page_break%#', $sText);
remove all html "page Brake" 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>
"
}