在我的数据库中,某些文本存储为
<p>texxxxxxxxxxt1</p>
<p> </p>
<p>textttttttttt2</p>
<p> </p>
<p> </p>
<p>teeeeeeeeeext3</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
当我展示它们时,我希望删除那些最终空白......我已经尝试了很多东西,但它们都没有工作...... 我想过
$content = preg_replace("#(<p> <\/p>)+$#", '', $content);
$content = preg_replace("#(<p> <\/p>\r)+$#", '', $content);
和其他人但是他们因为换线而无法工作......任何想法? 最终结果应该是
<p>texxxxxxxxxxt1</p>
<p> </p>
<p>textttttttttt2</p>
<p> </p>
<p> </p>
<p>teeeeeeeeeext3</p>
提前谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
如何将字符串分解为数组(在换行符上),然后从数组的后面循环。如果它等于<p> </p>
,则将其从数组中弹出。最后将数组连接回一个字符串。
答案 2 :(得分:0)
这是一个递归函数:
<?php
$str = "<p>text1</p>
<p> </p>
<p>text2</p>
<p> </p>
<p> </p>
<p>text3</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>";
$substring = "<p> </p>";
function magic($str, $substring) {
$str = trim(rtrim($str));
if (substr($str, (strlen($str) - strlen($substring)), strlen($str)) == $substring) {
$str = trim(rtrim(substr($str, 0, strlen($str) - strlen($substring))));
$str = magic($str, $substring);
}
return $str;
}
echo magic($str, $substring);