PHP preg_split添加了一个空数组键,该键不能被array_filter清除,因为其中有一个“空格”

艾玛

我试图用来preg_split分割段落之间有奇数行换行的文本,但其中一些新行(也是奇数)上也有一些“空格”(空空格),但正则表达式是m using无法绕过那些“空格”,而是将它们包括在我的数组中:

Array
(
    [0] => Dummy text
    [2] =>  
    [3] => more dummy text after some lines
    [5] =>  
    [7] => even more dummy text
) 

这是正则表达式示例:https : //3v4l.org/2aMNN

preg_split('/(\r\n|\n|\r)/', $p)

到目前为止,我已经使用foreach循环来清理它:

foreach($arr as $v){
    if(!empty($v){
         //do something
    }
}

但我很确定对此X_X有更好的解决方案:-s

缺口

您可以preg_split与该PREG_SPLIT_NO_EMPTY标志一起使用以从输出中删除完全为空的值,但是您还需要在正则表达式中的换行符附近包含空格,以避免在输出中出现仅包含空格的行。这将起作用($p从您的演示中复制):

$arr  = preg_split('/[\r\n]+\s*/', $p, -1, PREG_SPLIT_NO_EMPTY);
print_r($arr);

输出:

Array (
    [0] => Dummy text
    [1] => more dummy text after some lines
    [2] => even more dummy text 
)

3v4l.org上的演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP:如何将两个数组组合为一个,添加键,对它们进行排序?

(php)条件运算符怎么了?有一个函数可以找到一个关联数组是否有键

如何在PHP中将具有相同键的数组合并为一个

PHP如何用一个或多个相同的键创建一个新的多维数组?

PHP使用另一个数组中的值和键更新数组

如何从PHP中具有相同键的另一个数组向数组的键添加值?

检查数组PHP中是否有一个具有特定值的键

检查一个数组的值是否与另一个数组的键匹配-PHP

PHP在一个数组中查找作为值存在于另一个数组中的键,然后拉回该值

将一个关联数组转换为一个关联数组,该关联数组具有一个键,该键中的另一个关联数组作为键在php中的值

PHP:将两个键分配给一个值;使2个键具有同义定义

PHP带有和不带有显式键的一个数组

创建一个具有多个值的关联数组到php中的一个键

用PHP中的另一个数组键替换一个数组键

PHP数组:无论键如何,获取第一个不为空的值

如果我需要这些键同时具有一个值(从数据库传递),如何将键添加到PHP数组中?

如何基于2个键对PHP数组进行排序,一个键升序,另一个键降序

PHP array_filter从数组中仅获取一个值

如何在PHP数组中获取键搜索的所有值与另一个键的值?

如何从另一个数组的值构建PHP中多维数组的键?

PHP:带有第一个描述的字符的 preg_split

Javascript返回一个空数组,但其中有两个元素

如果我在 PHP 中有一个键,则循环到一个数组中

如何在数组中插入元素,其中有空间作为通过 php 的 db mysql 的下一个字段

给当前数组添加一个键 PHP

PHP将数组添加到另一个没有键的数组

php如何通过另一个数组值搜索数组键

php 创建一个带有额外值的第三个数组,其中的键与两个现有数组相匹配

如何使用 php 中的 usort 通过其中一个元素中的键对多维数组进行排序?