• 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

    • AMD Releases new GPU driver with Windows Server 2025 support and new Ryzen chips by Taras Buria AMD has released a new Pro Edition driver for customers with Radeon PRO graphics cards and certain AMD Ryzen PRO and Ryzen AI processors. These drivers get fewer updates than your standard Radeon Software drivers for mainstream gaming graphics cards, and their goal is to deliver a more stable experience with a bigger emphasis on performance and security for professional environments and use-case scenarios. AMD Software Pro Edition 25 Q2 is now available for download with the following update highlights: Support for AMD Ryzen AI PRO Series and AMD Ryzen AI Max 300 Series Support for Microsoft Windows Server 2025 And here is the list of known bugs: “Media Offline” error appears after importing certain 8K media files in DaVinci Resolve Terrain mapping images fail to load properly on Tresus MVPPro Issue with shadows when using the Subdivision Surface modifier in Blender EEVEE AMD Software Pro Edition 25 Q2 driver is compatible with 64-bit Windows 10 or 11 and Windows Server 2022 or 2025 systems with the following AMD processors and graphics cards: AMD Ryzen AI Series Radeon Pro Series Lenovo Mobile HP with AMD Ryzen Pro AMD Ryzen AI Pro Series AMD Ryzen AI Max+ 300 Series AMD Radeon PRO W7000 Series AMD Radeon PRO W6000 Series AMD Radeon PRO W5000 Series AMD Radeon PRO WX Series AMD Radeon Vega Frontier Edition Radeon PRO Duo (Polaris AMD Radeon PRO VII P16s Gen1 P16s Gen2 P14s Gen1 P14s Gen2 P14s Gen3 P14s Gen4 P14s Gen5 HP Loke (AMD Ryzen 9 Pro 7940HS) HP LoxW (AMD Ryzen 5 Pro 7640HS) HP Firefly 14 G11 A HP ZBook Power G11 You can download the AMD Software Pro Edition 25 Q2 driver from the official AMD support page. Full release notes are available on the same page as well.
    • Because of these forums, I decided to give Linux a try a few years ago. I started with Fedora, bounced around to Ubuntu, Mint, and I've landed on PopOS! and I love it. Other than my son's Macbook and his Chromebook, everything in the house runs PopOS!. When I switched my mother over to it, I showed her where the email icon was, and how to get to her Facebook, and I haven't heard a complaint. Linux is far more usable than it once was. I have a dedicated laptop that I try different distros out on all the time, but mostly I reside in Pop. What I love is if I do run into a problem, there are so many forum resources out there to find answers. Most times the distro itself will have user forums that already have a fix for the issue I'm facing. People ditching Windows 10, should they choose to, should at least try Linux. It might not be for them, but if it is, they enter a completely new world of computing. Waiting in the wings will always be Windows 11 or a Mac should they choose that route.
    • The real trick is to make sure the funds go to the right people. Anyone remember the African "famine" of the 1980s/early 1990s? A lot of that was local warlords preventing people from getting food and aid. Thousands of tons of food sat in warehouses and spoiled/got eaten by rodents and untold numbers of innocents perished. Dictatorship and corruption and rot has to be rooted out or else his money is just going to make the wrong people very rich.
  • Recent Achievements

    • Week One Done
      jrromero17 earned a badge
      Week One Done
    • One Month Later
      jrromero17 earned a badge
      One Month Later
    • Conversation Starter
      johnwin1 earned a badge
      Conversation Starter
    • One Month Later
      Marwin earned a badge
      One Month Later
    • One Year In
      fred8615 earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      228
    2. 2
      snowy owl
      156
    3. 3
      ATLien_0
      138
    4. 4
      Xenon
      128
    5. 5
      +FloatingFatMan
      127
  • Tell a friend

    Love Neowin? Tell a friend!