如何通过explode()
从800-555-5555获得800-555?
这是一个很好的例子:
$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
... < / p>
所以我想要那个,我从第二个“点击”回到字符串。
好的,这是一个更明显的例子:
$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
答案 0 :(得分:1)
对已经生成的数组索引进行连接是一种简单的方法。
示例代码
echo $phoneChunks[0]."-".$phoneChunks[1];
答案 1 :(得分:1)
Implode
,explode
和array_slice
。
我使用array_slice
因为这使得函数更具动态性。
现在,您只需设置$items
即可获得所需的项目数量
如果设置负值,则向后计数。
$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;
您还可以使用一个开始变量来使起始位置动态化。
答案 2 :(得分:0)
这对我有用:
$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);
输出:
800-555