Split string on non-alphanumerics in PHP? Is it possible with php's native function?

Posted by Jehanzeb.Malik on Stack Overflow See other posts from Stack Overflow or by Jehanzeb.Malik
Published on 2012-10-24T10:44:44Z Indexed on 2012/10/24 11:01 UTC
Read the original article Hit count: 228

Filed under:
|
|
|
|

I was trying to split a string on non-alphanumeric characters or simple put I want to split words. The approach that immediately came to my mind is to use regular expressions.

Example:
$string = 'php_php-php php';
$splitArr = preg_split('/[^a-z0-9]/i', $string);

But there are two problems that I see with this approach.

  1. It is not a native php function, and is totally dependent on the PCRE Library running on server.
  2. An equally important problem is that what if I have punctuation in a word
    Example:
    $string = 'U.S.A-men's-vote';
    $splitArr = preg_split('/[^a-z0-9]/i', $string);

    Now this will spilt the string as [{U}{S}{A}{men}{s}{vote}]
    But I want it as [{U.S.A}{men's}{vote}]

So my question is that:

  • How can we split them according to words?
  • Is there a possibility to do it with php native function or in some other way where we are not dependent?

Regards

© Stack Overflow or respective owner

Related posts about php

Related posts about regex