MiG- Posted July 7, 2006 Share Posted July 7, 2006 So i currently have the following: $text = $filename; $split = explode("?", $text); $price = $split['1']; But at the minute it splits the text i want it to, but it keeps it in the original string, so is there anyway to remove it ? Thanks, MiG Link to comment Share on other sites More sharing options...
0 Kudos Veteran Posted July 7, 2006 Veteran Share Posted July 7, 2006 What? I'm not sure i understand what you are asking but: unset($text); If that's not what you want then try explaining it better Link to comment Share on other sites More sharing options...
0 MiG- Posted July 7, 2006 Author Share Posted July 7, 2006 What? I'm not sure i understand what you are asking but: unset($text); If that's not what you want then try explaining it better Ok, well i want it to do the following: Say i have the following: "The Price is ?500" i want it to do the following.. Variable 1 = "The Price is" Variable 2 = "?500" Thanks, MiG Link to comment Share on other sites More sharing options...
0 Large Posted July 7, 2006 Share Posted July 7, 2006 Hi MiG, Just use the same variable and the substr command. Link : www.php.net - substr Hope that helps ? :) Kind Regards Large Link to comment Share on other sites More sharing options...
0 PRSBOY Posted July 7, 2006 Share Posted July 7, 2006 <? $text = "The price is ?200"; $split = explode("?", $text); $price = $split['0']; $cost = $split['1']; echo $price; echo "<br />"; echo $cost; ?> Link to comment Share on other sites More sharing options...
0 Kudos Veteran Posted July 7, 2006 Veteran Share Posted July 7, 2006 explode() removes the character it splits on so you'll need to add ? back on $cost = '?'.$split['1']; Link to comment Share on other sites More sharing options...
0 Login_Here Posted July 7, 2006 Share Posted July 7, 2006 An easier way of doing what PRSBOY posted would be something like this; <?php $text = "The Price is ?500"; list($text, $price) = explode("?", $text); echo $text . "?" . $price; ?> EDIT: Is there any function that splits a string into two or more parts without removing the character it splits on? Link to comment Share on other sites More sharing options...
0 Dick Montage Posted July 7, 2006 Share Posted July 7, 2006 <? $originalstring = "The Price is ?500"; $delimiter = "?"; if(strpos($originalstring,$delimiter) > 0){ $outarray = explode($delimiter,$originalstring); $variable1 = $outarray[0]; $variable2 = "?".$outarray[1]; } ?> Link to comment Share on other sites More sharing options...
0 Kudos Veteran Posted July 7, 2006 Veteran Share Posted July 7, 2006 An easier way of doing what PRSBOY posted would be something like this; <?php $text = "The Price is ?500"; list($text, $price) = explode("?", $text); echo $text . "?" . $price; ?> EDIT: Is there any function that splits a string into two or more parts without removing the character it splits on? not that i know of Link to comment Share on other sites More sharing options...
0 MiG- Posted July 8, 2006 Author Share Posted July 8, 2006 <? $originalstring = "The Price is ?500"; $delimiter = "?"; if(strpos($originalstring,$delimiter) > 0){ $outarray = explode($delimiter,$originalstring); $variable1 = $outarray[0]; $variable2 = "?".$outarray[1]; } ?> That works fine, except i think its trying to put a symbol in variable1, since at the end of the text i get a diamond with a question mark in it, as if it is trying to put a ? sign in there.. any ideas? MiG Link to comment Share on other sites More sharing options...
0 Dick Montage Posted July 8, 2006 Share Posted July 8, 2006 Right, I think you have had a lot of help here and are not explaining the situation correctly. This diamond thing is weird, what environment are you running in? Also, would it not be prudent to maybe learn PHP? Link to comment Share on other sites More sharing options...
0 Kudos Veteran Posted July 8, 2006 Veteran Share Posted July 8, 2006 https://www.neowin.net/forum/index.php?showtopic=475756 Are you thick? I hate being rude about it, but jesus christ, it was only a couple of days ago. Link to comment Share on other sites More sharing options...
0 tiddlie Posted July 8, 2006 Share Posted July 8, 2006 Hate to say it, but well said Kudos <? $originalstring = "The Price is ?500"; $delimiter = "?"; if(strpos($originalstring,$delimiter) > 0){ $outarray = explode($delimiter,$originalstring); $variable1 = $outarray[0]; $variable2 = "£".$outarray[1]; } ?> Link to comment Share on other sites More sharing options...
0 MiG- Posted July 8, 2006 Author Share Posted July 8, 2006 https://www.neowin.net/forum/index.php?showtopic=475756 Are you thick? I hate being rude about it, but jesus christ, it was only a couple of days ago. that was for a different thing, and since i posted there saying i wanted some help splitting it and nobody replied, i thought i'd try some things, give it a few days, and then reply back... DUDE, if im so god damn thick, why the **** can you explain why it is displaying that diamond mark, after i did a Str_replace on the variable, to replace "?", with " ", meaning effectively it would take away the nagging diamond, which it didnt.. SO, if you cant help me rectify my problem then get out.. And to Njlouch ?, i'm running XAMMP web server locally, which is basically Apache, PHP and SQL in one bundle.. Link to comment Share on other sites More sharing options...
0 tiddlie Posted July 8, 2006 Share Posted July 8, 2006 that was for a different thing, and since i posted there saying i wanted some help splitting it and nobody replied, i thought i'd try some things, give it a few days, and then reply back... DUDE, if im so god damn thick, why the **** can you explain why it is displaying that diamond mark, after i did a Str_replace on the variable, to replace "?", with " ", meaning effectively it would take away the nagging diamond, which it didnt.. SO, if you cant help me rectify my problem then get out.. And to Njlouch ?, i'm running XAMMP web server locally, which is basically Apache, PHP and SQL in one bundle.. Try just downloading and installing PHP, Apache and MySql seperately, and configuring them. That way you end up with a 'proper' install that you know is configured properly, and not to someone elses requirements. Link to comment Share on other sites More sharing options...
0 MiG- Posted July 8, 2006 Author Share Posted July 8, 2006 Try just downloading and installing PHP, Apache and MySql seperately, and configuring them. That way you end up with a 'proper' install that you know is configured properly, and not to someone elses requirements. ... Link to comment Share on other sites More sharing options...
0 Kudos Veteran Posted July 8, 2006 Veteran Share Posted July 8, 2006 that was for a different thing, and since i posted there saying i wanted some help splitting it and nobody replied, i thought i'd try some things, give it a few days, and then reply back... It doesn't matter what it was for, the answer is still there. DUDE, if im so god damn thick, why the **** can you explain why it is displaying that diamond mark, after i did a Str_replace on the variable, to replace "?", with " ", meaning effectively it would take away the nagging diamond, which it didnt.. I'm going to answer the first part of that question by answering the second part. It's almost certainly your character encoding, you have the following at the top of your listed website <?xml version='1.0' encoding='iso-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> Try playing with that a bit and read this. Check that your database encoding matches the encoding you're putting in your header too (yes, it actually does something). Link to comment Share on other sites More sharing options...
0 MiG- Posted July 8, 2006 Author Share Posted July 8, 2006 It doesn't matter what it was for, the answer is still there. I'm going to answer the first part of that question by answering the second part. It's almost certainly your character encoding, you have the following at the top of your listed website <?xml version='1.0' encoding='iso-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> Try playing with that a bit and read this. Check that your database encoding matches the encoding you're putting in your header too (yes, it actually does something). i have the encoding thing sorted but i'll take a look at that link, not expecting much from it though. :( Link to comment Share on other sites More sharing options...
0 MiG- Posted July 8, 2006 Author Share Posted July 8, 2006 i've seemed to fix it, well kinda. loaded up the page in IE, and it was trying to display 1/4 </br> :blink:. so i revamped my code and got rid of the error in IE, but firefox is still teh gay. ;) Link to comment Share on other sites More sharing options...
0 operations Posted July 8, 2006 Share Posted July 8, 2006 An easier way of doing what PRSBOY posted would be something like this; <?php $text = "The Price is ?500"; list($text, $price) = explode("?", $text); echo $text . "?" . $price; ?> EDIT: Is there any function that splits a string into two or more parts without removing the character it splits on? The function preg_split can, $text = "The Price is ?500"; $result = preg_split( '/(?\d{1,})/', $text, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); print_r($result); Link to comment Share on other sites More sharing options...
Question
MiG-
So i currently have the following:
But at the minute it splits the text i want it to, but it keeps it in the original string, so is there anyway to remove it ?
Thanks,
MiG
Link to comment
Share on other sites
19 answers to this question
Recommended Posts