Bird
Raised Fist0
PHPprogramming~10 mins

Preg_split for splitting in PHP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to split the string by commas using preg_split.

PHP
<?php
$string = "apple,banana,cherry";
$parts = preg_split([1], $string);
print_r($parts);
?>
Drag options to blanks, or click blank then click option'
A"/,/"
B"/\./"
C"/\s+/"
D"/;/"
Attempts:
3 left
💡 Hint
Common Mistakes
Using a semicolon instead of a comma in the pattern.
Not enclosing the pattern in slashes.
2fill in blank
medium

Complete the code to split the string by one or more spaces using preg_split.

PHP
<?php
$string = "one  two   three";
$words = preg_split([1], $string);
print_r($words);
?>
Drag options to blanks, or click blank then click option'
A"/,/"
B"/\s+/"
C"/\./"
D"/;/"
Attempts:
3 left
💡 Hint
Common Mistakes
Using a comma instead of whitespace in the pattern.
Not using the plus sign to match multiple spaces.
3fill in blank
hard

Fix the error in the code to split the string by dots using preg_split.

PHP
<?php
$string = "www.example.com";
$parts = preg_split([1], $string);
print_r($parts);
?>
Drag options to blanks, or click blank then click option'
A"/./"
B"/\./\"
C"/\\./"
D"/\./"
Attempts:
3 left
💡 Hint
Common Mistakes
Not escaping the dot, which matches any character.
Using incorrect escaping that causes syntax errors.
4fill in blank
hard

Complete the code to split the string by commas or semicolons using preg_split.

PHP
<?php
$string = "red,green;blue,yellow;orange";
$colors = preg_split([1], $string);
print_r($colors);
?>
Drag options to blanks, or click blank then click option'
A"/;/"
B"/\s+/"
C"/[,;]/"
D"/,/"
Attempts:
3 left
💡 Hint
Common Mistakes
Using separate patterns for commas and semicolons.
Not using square brackets to combine characters.
5fill in blank
hard

Complete the code to split the string by commas, semicolons, or spaces using preg_split.

PHP
<?php
$string = "cat, dog;bird fish";
$animals = preg_split([1], $string);
print_r($animals);
?>
Drag options to blanks, or click blank then click option'
A"/[ ,;]+/"
B"/\s/"
C"/;/"
D"/,/"
Attempts:
3 left
💡 Hint
Common Mistakes
Using separate patterns for each delimiter.
Not including the plus sign to match multiple delimiters in a row.

Practice

(1/5)
1. What does the PHP function preg_split do?
easy
A. Counts the number of words in a string.
B. Joins array elements into a string.
C. Replaces parts of a string matching a pattern.
D. Splits a string into parts using a regular expression pattern.

Solution

  1. Step 1: Understand the function purpose

    preg_split is designed to split strings based on patterns, not fixed characters.
  2. Step 2: Compare options with function behavior

    Only Splits a string into parts using a regular expression pattern. describes splitting using a regular expression pattern, which matches preg_split functionality.
  3. Final Answer:

    Splits a string into parts using a regular expression pattern. -> Option D
  4. Quick Check:

    preg_split splits string by regex pattern = A [OK]
Hint: Remember: preg_split uses regex to split strings [OK]
Common Mistakes:
  • Confusing preg_split with implode or join functions
  • Thinking preg_split replaces text instead of splitting
  • Assuming preg_split counts words
2. Which of the following is the correct syntax to split a string by commas using preg_split?
easy
A. preg_split('/,/', $string);
B. preg_split(',', $string);
C. preg_split($string, '/,/');
D. preg_split($string, ',');

Solution

  1. Step 1: Identify correct parameter order

    The first parameter of preg_split is the regex pattern as a string, the second is the input string.
  2. Step 2: Check regex pattern format

    The pattern must be enclosed in delimiters like slashes /, /. preg_split('/,/', $string); uses this correctly.
  3. Final Answer:

    preg_split('/,/', $string); -> Option A
  4. Quick Check:

    Pattern first with slashes, then string = B [OK]
Hint: Pattern goes first with slashes, then the string [OK]
Common Mistakes:
  • Omitting regex delimiters like slashes
  • Swapping the order of parameters
  • Using plain string instead of regex pattern
3. What is the output of the following PHP code?
$text = "apple,banana;orange|grape";
$result = preg_split('/[,;|]/', $text);
print_r($result);
medium
A. ["apple,banana;orange|grape"]
B. ["apple", "banana;orange|grape"]
C. ["apple", "banana", "orange", "grape"]
D. ["apple", "banana", "orange|grape"]

Solution

  1. Step 1: Understand the regex pattern

    The pattern /[,;|]/ matches any comma, semicolon, or pipe character as separators.
  2. Step 2: Split the string by these separators

    The string splits at each comma, semicolon, and pipe, resulting in four parts: "apple", "banana", "orange", "grape".
  3. Final Answer:

    ["apple", "banana", "orange", "grape"] -> Option C
  4. Quick Check:

    Split by , ; | = ["apple", "banana", "orange", "grape"] [OK]
Hint: Regex with multiple separators splits into all parts [OK]
Common Mistakes:
  • Not recognizing all separators in regex
  • Expecting only comma to split
  • Confusing output format with string instead of array
4. The following code is intended to split a string by spaces, but it causes an error. What is the problem?
$str = "one two three";
$parts = preg_split(' ', $str);
print_r($parts);
medium
A. The print_r function is used incorrectly.
B. The pattern is missing regex delimiters.
C. preg_split cannot split by spaces.
D. The string variable is empty.

Solution

  1. Step 1: Check the pattern parameter

    The pattern passed is a plain space character without regex delimiters, which is invalid syntax for preg_split.
  2. Step 2: Correct pattern format

    Regex patterns must be enclosed in delimiters like slashes, e.g., '/ /' to match a space.
  3. Final Answer:

    The pattern is missing regex delimiters. -> Option B
  4. Quick Check:

    Regex pattern needs delimiters like slashes [OK]
Hint: Always wrap regex pattern in delimiters like slashes [OK]
Common Mistakes:
  • Using plain string without delimiters as pattern
  • Assuming preg_split works like explode for spaces
  • Blaming print_r for output issues
5. You want to split a string by any number of spaces or commas, but ignore empty parts in the result. Which preg_split call achieves this?
hard
A. preg_split('/[ ,]+/', $string, -1, PREG_SPLIT_NO_EMPTY);
B. preg_split('/[ ,]/', $string);
C. preg_split('/[ ,]+/', $string);
D. preg_split('/[ ,]+/', $string, 0);

Solution

  1. Step 1: Understand the pattern and flags

    The pattern /[ ,]+/ matches one or more spaces or commas, so it splits on any group of these separators.
  2. Step 2: Use flag to remove empty parts

    The flag PREG_SPLIT_NO_EMPTY tells preg_split to exclude empty strings from the result array.
  3. Step 3: Check other options

    preg_split('/[ ,]/', $string); splits on single separators but may leave empty parts. preg_split('/[ ,]+/', $string); does not remove empty parts. preg_split('/[ ,]+/', $string, 0); uses 0 as limit which is invalid.
  4. Final Answer:

    preg_split('/[ ,]+/', $string, -1, PREG_SPLIT_NO_EMPTY); -> Option A
  5. Quick Check:

    Use + for multiple separators and NO_EMPTY flag [OK]
Hint: Use + in pattern and PREG_SPLIT_NO_EMPTY flag [OK]
Common Mistakes:
  • Not using + to match multiple separators
  • Forgetting PREG_SPLIT_NO_EMPTY to remove blanks
  • Using invalid limit parameter
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard