Jump to content

parse an string by a character


etrader

Recommended Posts

Is it possible for there to be a total number of hyphens in the string other than 2?

 

$string = "word- word2- - - - - -   -  something -SECONDPART";
if( strpos($string, '-') !== FALSE ) {
//$string = "wordword2 something SECONDPART";
$substr1 = substr( $string, 0, (strrpos($string, '-') ) );
$substr2 = substr( $string, (strrpos($string, '-') + 1) );
} else {
$substr1 = $string;
$substr2 = '';
}
echo "<br>First part: $substr1<br>Second part : $substr2";

$tmp = explode('-', $string);
$string1 = $tmp[0] . '-' . $tmp[1];
$string2 = $tmp[2];
unset($tmp);

 

It works well; but a question out of curiosity. What is the role of unset?

 

 

Is it possible for there to be a total number of hyphens in the string other than 2?

 

Yes, we deal with the last "-"; it may happen several times.

 

Actually, I need to split the string to two new ones, as I can handle both of them (Yes, I need both of them).

 

The solution provided by JakeTheSnake3.0 was very simple and thus attracted my attention; however, it only works for the first part (returning the string before the last "-").

The code I posted above works, but I actually forgot all about array_pop. This code will work just as well.

 

$string = "This is- the str - ing for- test-ing and -doing stuff -SECONDPART"; // Test string

$arr = explode('-', $string);
$suffix = array_pop($arr);
$prefix = implode('-', $arr);

echo "<br>Prefix: $prefix<br>Suffix: $suffix"; // Everything b4 last hyphen is in $prefix, everything after in $suffix.

Maybe?

 

  $string = "This is- the str - ing for- test-ing and -doing stuff -SECONDPART"; // Test string
  echo "<br />String 1 :" . substr($string,0,strrpos($string, '-'));
  echo "<br />String 2 :" . substr($string,strrpos($string, '-')+1);

 

scratch this... I didn't see Pika reply #2

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.