首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从第二个或第三个字符串分隔符将字符串分解回来?

如何从第二个或第三个字符串分隔符将字符串分解回来?
EN

Stack Overflow用户
提问于 2018-05-30 23:19:21
回答 3查看 233关注 0票数 0

如何使用explode()从800-555-5555获得800-555

下面是一个很好的例子:

代码语言:javascript
复制
$rawPhoneNumber = "800-555-5555"; 

$phoneChunks = explode("-", $rawPhoneNumber);
First chunk = $phoneChunks[0]; //800
Second chunk = $phoneChunks[1]; //555
Third Chunk chunk = $phoneChunks[2]; //5555

但是我怎样才能得到800-555呢?

好的,我明白了,这里需要更多的评论...所以,这只是一个例子。实际上,我在字符串分隔符中添加了一个单词(现在是$word),我的字符串就是一篇完整的文章……我希望,如果这个词第二次发表在文章中,str_word_count()将计算,文本中有多少字符在第二个(或者第三个,如果我想要的话) $word...

所以我想要的是,我从第二次“点击”中得到字符串。

好的,这里有一个更明显的例子:

代码语言:javascript
复制
$text = oh my god, thank you the lot of downvotes, geniuses *.*
$explode = explode(",", $text);
$whatiwant = $explode?? // I WANT THE STRING FROM THE SECOND "," TO BACK

所以我想要那个$whatiwant = oh my god, thank you the lot of downvotes

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-05-31 00:16:11

Implodeexplodearray_slice

我使用array_slice,因为它使函数更具动态性。

现在,您只需设置$items即可获得所需的项目数。

如果设置为负值,则会向后计数。

代码语言:javascript
复制
$delim = ",";
$items =2;
$text = "oh my god, thank you the lot of downvotes, geniuses *.*";
$whatiwant = implode($delim, array_slice(explode($delim, $text),0,$items));
Echo $whatiwant;

https://3v4l.org/KNSC4

您还可以使用start变量来动态设置起始位置。

https://3v4l.org/XD0NV

票数 1
EN

Stack Overflow用户

发布于 2018-05-30 23:21:18

对您来说,连接已生成的数组索引是一种简单的方法。

示例代码

代码语言:javascript
复制
echo $phoneChunks[0]."-".$phoneChunks[1];
票数 1
EN

Stack Overflow用户

发布于 2018-05-31 00:04:25

这对我很有效:

代码语言:javascript
复制
$rawPhoneNumber = "800-555-5555";

$phoneChunks = explode("-", $rawPhoneNumber);
$first_chunk = $phoneChunks[0]; //800
$second_chunk = $phoneChunks[1]; //555
$third_chunk_chunk = $phoneChunks[2]; //5555

$portion_array = array($first_chunk, $second_chunk);
echo implode("-",$portion_array);

输出:

代码语言:javascript
复制
800-555
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50608305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档