• 0

[PHP] Split text after a certain character


Question

19 answers to this question

Recommended Posts

  • 0
  Kudos said:

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

  • 0

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?

  • 0
<?
	$originalstring = "The Price is ?500";
	$delimiter = "?";
	if(strpos($originalstring,$delimiter) > 0){
		$outarray = explode($delimiter,$originalstring);
		$variable1 = $outarray[0];
		$variable2 = "?".$outarray[1];
	}
?>

  • 0
  Login_Here said:

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

  • 0
  njlouch said:

<?
	$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

  • 0

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];
	}
?>

  • 0
  Kudos said:

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..

  • 0
  MiG- said:

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.

  • 0
  MiG- said:

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.

  MiG- said:

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).

  • 0
  Kudos said:

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. :(

  • 0
  Login_Here said:

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);

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Meta and Oakley launch AI-driven Performance Glasses with new HSTN model by Fiza Ali Meta has partnered with Oakley to create a new category of Performance AI glasses, combining Oakley’s signature design DNA with Meta’s artificial intelligence technology. This collaboration builds on the success of Ray‑Ban Meta glasses and extends Meta’s partnership with EssilorLuxottica to include another eyewear brand. The global launch is supported by a campaign featuring Team Oakley athletes Kylian Mbappé and Patrick Mahomes. The first model in this series, Oakley Meta HSTN (pronounced "HOW‑stuhn"), is based on Oakley’s HSTN frame. It features a discreet integrated camera capable of capturing Ultra HD (3K) video hands‑free. Open‑ear speakers are also incorporated into the frame. With an IPX4 water‑resistance rating, the HSTN glasses are designed to withstand sweat, rain, and splashes. At the core of the HSTN is Meta AI, the built‑in personal assistant. Users can ask for real‑time environmental data, such as wind speed on a golf course or issue simple voice commands to capture videos or photos. When it comes to the battery life, a full charge provides up to eight hours of use or 19 hours on standby. A portable charging case supplies up to 48 hours of power. Pre‑orders for the Limited‑Edition Oakley Meta HSTN open on 11 July at $499, with the standard collection, starting at $399, due to launch later in the summer. Initial availability will cover the US, Canada, UK, Ireland, France, Italy, Spain, Austria, Belgium, Germany, Sweden, Norway, Finland and Denmark, with Mexico, India and the United Arab Emirates slated to follow before the end of the year. The Oakley Meta HSTN will make its public debut at major sporting events, beginning with Fanatics Fest (20-22 June) and UFC International Fight Week (25-27 June). Further information about the Oakley Meta HSTN, including updates on availability, can be found at Oakley.com and Meta's dedicated webpage here.
    • Ok, wouldn't it be cheaper for tesla to just leave out the self driving system and use the human since he is just gonna be sitting there anyway?
    • A bunch of new content in this patch, including Hurston warehouse missions that are currently bugged, of course. The huge worm mission is cool. Rain is an amazing add-on feature, radiation in Pyro is cool but deadly af. Only issue Im having rn is the horrible server desync and lag. I have ended up 3 times in jail for shooting guards that just pop in your way while shooting baddies.
    • Elon Musk's robotaxi will have a human driver for 'safety' reasons by David Uzondu Image via Depositphotos.com A few days ago, we reported that Tesla was gearing up for its robotaxi launch, set to kick off in Austin, Texas, and now the details of the service are trickling out. Electrek says that some popular pro-Tesla influencers on X have gotten invitations to the launch. These invitations came with a list of rules, and the most glaring one was the presence of what Tesla called a "Safety Monitor" in the front passenger seat. This is basically a human supervising driver whose entire job is to watch the car and make sure it does not drive itself into a ditch. This might feel a little strange, especially given Musk's claims of "no driver" testing in the past. The safety monitor is one of the employees with access to buttons that can stop the car, much like the ones available to Waymo passengers in their fully autonomous rides. The service will operate within a geofenced area from 6 AM to 12 AM and will not run during bad weather. Other requirements include a credit card on file and an agreement that you will not be a jerk. Participants must also agree to a bunch of other rules, and one of the most interesting ones is that their access can be terminated if they share content on social media that shows the vehicle being misused. On top of that, they're not allowed to reverse engineer the technology in any way. At least the passenger gets a bit of a break. So, unlike the Tesla Full-Self Driving Beta, which requires the owner's constant attention, the supervising driver is expected to pay attention. At the same time, you, the passenger, can relax and enjoy the ride. According to Electrek's Fred Lambert, the robotaxi launch seems like an optics thing, designed to let Elon Musk say he met his June deadline for launching a robotaxi network.
  • Recent Achievements

    • Week One Done
      BlakeBringer earned a badge
      Week One Done
    • Week One Done
      Helen Shafer earned a badge
      Week One Done
    • First Post
      emptyother earned a badge
      First Post
    • Week One Done
      Crunchy6 earned a badge
      Week One Done
    • One Month Later
      KynanSEIT earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      661
    2. 2
      ATLien_0
      269
    3. 3
      Michael Scrip
      226
    4. 4
      Steven P.
      166
    5. 5
      +FloatingFatMan
      159
  • Tell a friend

    Love Neowin? Tell a friend!