标签: preg-split

PHP REGEX - 在换行符时由preg_split发送到数组的文本

编辑:

需要有关split array的帮助

数组示例:

 array (

           [0] =>
            :some normal text
            :some long text here, and so on... sometimes 
            i'm breaking down and...
            :some normal text
            :some normal text
        )
Run Code Online (Sandbox Code Playgroud)

好的,现在通过使用

preg_split( '#\n(?!s)#' ,  $text );
Run Code Online (Sandbox Code Playgroud)

我明白了

[0] => Array
        (
            [0] => some normal text
            [1] => some long text here, and so on... sometimes
            [2] => some normal text
            [3] => some normal text
        )
Run Code Online (Sandbox Code Playgroud)

我想得到这个:

[0] => Array
        (
            [0] => some normal text
            [1] => some …
Run Code Online (Sandbox Code Playgroud)

php regex line-breaks preg-split

4
推荐指数
2
解决办法
1万
查看次数

如何用任何整数分解字符串?正则表达式?

这似乎必须如此简单,但正则表达式对我来说非常混乱.我正在抓取$ _GET变量,它们看起来像typeX,optionX,groupX等,其中X等于任何正整数.然后我需要将字符串拆分为整数,以便type1变为"type和"1"的数组,但是type10必须成为"type"和"10"不是"type"和"1"和"0"的数组.

我完全不熟悉正则表达式模式,但最终得出结论:

$array = preg_split("#\\d+#", $key, -1, PREG_SPLIT_NO_EMPTY);
print_r($array);
Run Code Online (Sandbox Code Playgroud)

但它只是从末尾删除了数字而不是将字符串拆分为两个数组,如结果所示:

Array ( [0] => type )
Run Code Online (Sandbox Code Playgroud)

另外,我不确定这是否会将数字10进一步分为1和0,这是我不想要的.我觉得这可能是一个令人难以置信的简单解决方案,但我在这里旋转.

php regex preg-split

4
推荐指数
1
解决办法
3680
查看次数

PHP preg_split:由其他字符串拆分字符串

我想通过一系列单词拆分一个大字符串.

例如

$splitby = array('these','are','the','words','to','split','by');
$text = 'This is the string which needs to be split by the above words.';
Run Code Online (Sandbox Code Playgroud)

然后结果将是:

$text[0]='This is';
$text[1]='string which needs';
$text[2]='be';
$text[3]='above';
$text[4]='.';
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?是preg_split最好的方法,还是有更有效的方法?我希望它尽可能快,因为我将分割数百MB的文件.

php regex preg-split

4
推荐指数
3
解决办法
2144
查看次数

我试图拆分/爆炸/ preg_split一个字符串,但我想保留分隔符

我试图拆分/爆炸/ preg_split一个字符串,但我想保留分隔符示例:

explode('/block/', '/block/2/page/2/block/3/page/4');
Run Code Online (Sandbox Code Playgroud)

预期结果 :

array('/block/2/page/2', '/block/3/page/4');
Run Code Online (Sandbox Code Playgroud)

不确定我是否必须循环然后重新为数组值添加前缀或者是否有更简洁的方法.

我用PREG_SPLIT_DELIM_CAPTURE尝试了preg_split(),但我得到了以下内容:

array('/block/, 2/page/2', '/block/, 3/page/4');
Run Code Online (Sandbox Code Playgroud)

这不是我想要的.任何帮助深表感谢.

php regex split explode preg-split

4
推荐指数
1
解决办法
5677
查看次数

用空格分隔字符串

所有空格分隔字符串的适当正则表达式是什么?两个令牌之间也可以有多个空格,并且最后应该忽略空格.

到目前为止我所拥有的:

<?php
$tags = "unread dev     test1   ";
$tagsArr = preg_split("/ +/", $tags);
foreach ($tagsArr as $value) {
  echo $value . ";";
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下输出:

"unread;dev;test1;;"
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样,它不会忽略最后的空格,因为正确的输出应该是:

"unread;dev;test1;"
Run Code Online (Sandbox Code Playgroud)

php regex preg-split

4
推荐指数
2
解决办法
142
查看次数

将字符串拆分为文本和数字

我有一些字符串,可以采用以下格式

sometext moretext 01 text
text sometext moretext 002
text text 1 (somemoretext)
etc

我想将这些字符串拆分为以下内容:数字和数字之前的文本

例如:文本文本1(somemoretext)
当分割将输出:
text = text text
number = 1

号码后面的任何内容都可以丢弃

已经阅读了有关使用正则表达式的信息,并且可能使用了preg_match或preg_split,但在正则表达式部分时却丢失了

php regex preg-match preg-split

4
推荐指数
1
解决办法
9504
查看次数

如何将句子分成单词和标点符号?

例如,我想拆分这句话:

I am a sentence.
Run Code Online (Sandbox Code Playgroud)

分成5个部分; I,am,a,sentence,和..

我目前正在preg_split尝试使用explode,但我似乎找不到合适的东西.

这就是我尝试过的:

$sentence = explode(" ", $sentence);
/*
returns array(4) {
  [0]=>
  string(1) "I"
  [1]=>
  string(2) "am"
  [2]=>
  string(1) "a"
  [3]=>
  string(8) "sentence."
}
*/
Run Code Online (Sandbox Code Playgroud)

而且这个:

$sentence = preg_split("/[.?!\s]/", $sentence);
/*
returns array(5) {
  [0]=>
  string(1) "I"
  [1]=>
  string(2) "am"
  [2]=>
  string(1) "a"
  [3]=>
  string(8) "sentence"
  [4]=>
  string(0) ""
}
*/
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

php regex string preg-split text-segmentation

4
推荐指数
1
解决办法
4693
查看次数

PHP:如何通过破折号和括号之间的所有内容拆分字符串。(preg_split 或 preg_match)

几天来我一直在思考这个问题,但似乎没有什么能得到想要的结果。

例子:

$var = "Some Words - Other Words (More Words) Dash-Binded-Word";
Run Code Online (Sandbox Code Playgroud)

想要的结果:

array(
[0] => Some Words
[1] => Other Words
[2] => More Words
[3] => Dash-Bound-Word
)
Run Code Online (Sandbox Code Playgroud)

我能够使用 preg_match_all 使这一切正常工作,但随后“Dash-Bound-Word”也被分解了。试图将它与周围的空格匹配是行不通的,因为它会破坏除破折号外的所有单词。

我使用的 preg_match_all 语句(也打破了破折号绑定词)是这样的:

preg_match_all('#\(.*?\)|\[.*?\]|[^?!\-|\(|\[]+#', $var, $array);
Run Code Online (Sandbox Code Playgroud)

我当然不是 preg_match、preg_split 方面的专家,因此这里的任何帮助将不胜感激。

php regex preg-match-all preg-match preg-split

4
推荐指数
1
解决办法
4198
查看次数

PHP preg_split:通过正斜杠拆分字符串

我想192.168.1.1/24使用PHP函数preg_split通过正斜杠拆分我的字符串.

我的变量:

$ip_address = "192.168.1.1/24";
Run Code Online (Sandbox Code Playgroud)

我试过了 :

preg_split("/\//", $ip_address); 
//And
preg_split("/[/]/", $ip_address); 
Run Code Online (Sandbox Code Playgroud)

错误消息: preg_split():分隔符不能是字母数字或反斜杠

我在stackoverflow Php preg_split中找到了以下答案for forwardslash?,但它没有提供直接的答案.

php string preg-split

4
推荐指数
2
解决办法
9040
查看次数

在问号,感叹号或句点处拆分字符串

我正在尝试使用preg_split将字符串拆分为问号,感叹号或句号,但我遇到了问题.它不是在问号处分裂,而是在此之前拆分字符串.请看一下我的代码:

<?php

    $input = "Why will I have no money? Because I spent it all";
    $input = preg_split( "/ (?|.|!) /", $input ); 
    $input = $input[0];
    echo $input;

?>
Run Code Online (Sandbox Code Playgroud)

预期成绩:

为什么我没有钱

实际结果:

为什么会

php preg-split

3
推荐指数
1
解决办法
2072
查看次数