php 删除空段落
php remove empty paragraphs
我正在尝试从字符串中删除空段落。
是的,我知道这听起来很容易,但就是行不通。我已经尝试了很多我在论坛上阅读的解决方案,但它们都不起作用。
我应该补充一点,我从 json 文件创建的数组中获取要转换的字符串。
这是我的代码:
if ($json_file = json_decode(file_get_contents("export.json"), true)) {
$str = $json_file[12]["the_string"];
}
echo $str;
当我查看页面的源代码时,我看到:
<p> </p>
<p> </p>
<p> </p>
<p>Some text, Some text</p>
现在我只想去掉空段落。
我试过这个:
echo preg_replace("/<p[^>]*>[\s| ]*<\/p>/", '', $str);
...但它不起作用。这个更简单的解决方案也没有:
echo str_replace("<p> </p>","",$str);
尝试以上两种方案,输出的都是原来的字符串。
任何帮助将不胜感激,因为我现在已经在论坛中搜索了半天......
提前致谢!
编辑:
它必须对我从数组中获取的字符串格式进行处理。为了测试,我只是 copy/pasted 将输出输出到下面,在这里它工作得很好!
$str2 = "
<p> </p>
<p> </p>
<p> </p>
<p>Some text, Some text</p>";
echo preg_replace("/<p[^>]*>[\s| ]*<\/p>/", '', $str2);
EDIT2:这是 json 文件中正在访问的实际内容:
<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>This is some text<\/p>
嗯,在阅读了一些有关 UTF-8、Unicode 和许多其他内容的内容之后,我找到了一个可行的解决方案(实际上在论坛上)。
echo str_replace("<p>\xc2\xa0</p>","",$str);
很好很简单。但是由于 \x2a\xa0
只是一个 nbsp;
我仍然不明白为什么这个 没有 工作:<p> </p>
...
我正在尝试从字符串中删除空段落。 是的,我知道这听起来很容易,但就是行不通。我已经尝试了很多我在论坛上阅读的解决方案,但它们都不起作用。 我应该补充一点,我从 json 文件创建的数组中获取要转换的字符串。 这是我的代码:
if ($json_file = json_decode(file_get_contents("export.json"), true)) {
$str = $json_file[12]["the_string"];
}
echo $str;
当我查看页面的源代码时,我看到:
<p> </p>
<p> </p>
<p> </p>
<p>Some text, Some text</p>
现在我只想去掉空段落。 我试过这个:
echo preg_replace("/<p[^>]*>[\s| ]*<\/p>/", '', $str);
...但它不起作用。这个更简单的解决方案也没有:
echo str_replace("<p> </p>","",$str);
尝试以上两种方案,输出的都是原来的字符串。 任何帮助将不胜感激,因为我现在已经在论坛中搜索了半天...... 提前致谢!
编辑: 它必须对我从数组中获取的字符串格式进行处理。为了测试,我只是 copy/pasted 将输出输出到下面,在这里它工作得很好!
$str2 = "
<p> </p>
<p> </p>
<p> </p>
<p>Some text, Some text</p>";
echo preg_replace("/<p[^>]*>[\s| ]*<\/p>/", '', $str2);
EDIT2:这是 json 文件中正在访问的实际内容:
<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>This is some text<\/p>
嗯,在阅读了一些有关 UTF-8、Unicode 和许多其他内容的内容之后,我找到了一个可行的解决方案(实际上在论坛上)。
echo str_replace("<p>\xc2\xa0</p>","",$str);
很好很简单。但是由于 \x2a\xa0
只是一个 nbsp;
我仍然不明白为什么这个 没有 工作:<p> </p>
...