Rashmi
Rashmi

Reputation: 551

Split a string into smaller Chunks

I have a string of length 50k approx. example of string

hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl OR hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl OR hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl OR kdjkdjkdjkj OR djdldkkldkkkldklddklkldkl OR jdkdkjdjkjkdjkdjkdjkjkjkjkdkjkdjkjkdjkjk OR hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl hdjhjdhjdhdhjdhjhdldkklkdklkllkldkldldkl kldkldkl OR llldlkdl dkld ldk

Now if i use explode('OR', $str);, it will gives me array of length 500 or more than 501.

But i need array of 10 only. last array may be long. Does anybody have idea. how to do this.. I need OR word within string itself. also i have 20k OR in a string

Thanks

Upvotes: 0

Views: 177

Answers (3)

Alix Axel
Alix Axel

Reputation: 154513

Here you go (demo):

preg_split('~(?<!\b20k\b) OR\b~', $str, 10);

I suggest next time, you state your whole, complete problem clearly.

Upvotes: 0

gmaliar
gmaliar

Reputation: 5479

This should work

explode('OR', $string, 10);

The third argument is the maximum number of array items in the array, the last one will hold the rest of the string remaining.

If you do need the OR inside your strings, you should use @Alix Axel's answer instead.

Upvotes: 2

Alix Axel
Alix Axel

Reputation: 154513

str_split($str, strlen($str) / 10);

Upvotes: 3

Related Questions