Solved

Splitting string into varying length chunks

Posted on 2011-02-16
3
269 Views
Last Modified: 2012-05-11
Hi,

I have a string e.g.

$string = "123ES4GYT6889";

Open in new window


which is always going to be the same length.

I want to split it in the same way each time - the first 3 characters, then the next 6, then the next 3.

What is the most efficient way of doing this?

Thanks,

Julian

0
Comment
Question by:DrZork101
3 Comments
 
LVL 5

Expert Comment

by:LLMorrisson
ID: 34909232
$chunk1 = substr($str, 0, 3);
$chunk2 = substr($str, 3, 6);
$chunk3 = substr($str, 9, 3);
0
 
LVL 34

Assisted Solution

by:Beverley Portlock
Beverley Portlock earned 250 total points
ID: 34910127
An alternative that leaves them in arrays (might be more convenient depending on what you are doing)
<?php

$string = "123ES4GYT6889";
preg_match('#(.{3})(.{6})(.{3})#', $string, $matches );

// bits are in elements 1,2 and 3
//
print_r( $matches );

Open in new window


Produces

Array
(
    [0] => 123ES4GYT688
    [1] => 123
    [2] => ES4GYT
    [3] => 688
)

Lengths can be easily altered by changing the numbers in the braces, e.g. {3} to {4} and so on...
0
 
LVL 11

Accepted Solution

by:
Ovid Burke earned 250 total points
ID: 34910588
I like bportlock's approach, but assuming a consistent structure to the string i would go further, and validate this as well.

<?php

$string = "123ES4GYT6889";
$a = preg_match("/([0-9]{3})([A-Z]{2}[0-9]{1}[A-Z]{3})([0-9]{3})/", $string, $matches);

print_r($matches);

?>

Open in new window

0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question