• 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

    • I am using Waterfox Private Search now that I started using the Waterfox browser on my PC and Android. Both work great* search waterfox net with full stops in between. * I have an issue where making comments on articles on various websites is difficult with Waterfox on Android as it randomly adds spaces and doubles up on text.
    • I can't believe it was only two years since the last time MS raised their prices and now they think they can do it again so soon. Of course they needed to backtrack on this. I hope Nintendo is next.
    • I guess I gotta be even more specific then since I'm looking for an absolute confirmation.  The mini PC has never booted up or powered on by me. I'm assuming it'll be like buying a new PC from a store. Nothing is set up. Like absolutely nothing on the mini PC because I can't emphasize this enough. My USB drive already has Windows set up on it from my other desktop so I know it's clean. So now I connect it to the mini PC before it's even booted up or go to the desktop. I then turn on the mini PC and boot into the USB drive. I should see an existing partition. I'll delete it and then install Windows again over the entire drive. I don't necessarily want to create a separate partition. Once it installs and boots to the desktop, I'm assuming the drive is "clean" and free of any malware/viruses. Basically, this process will eliminate any potential for malware/viruses to still somehow hide in the SSD and then potentially affect me later.  I'm being very anal about this because I really don't trust anything bought from AliExpress, but the price was very tempting.  Is Windows Defender reliable? Afterwards, if I do a full scan and it doesn't find anything in the SSD and the USB drive, can I be confident the mini PC is now safe and secured to enter my banking credentials? If not, what else can I do to be absolutely certain?
    • I got an ESR Qi2 vent charger for my car and it's fantastic. It's very strong magnet and holds the phone securely over the worst potholes/roads, and my iPhone does charge. In Summer, the AC blows on the vent keeps and keeps the phone cold. In winter, I just close that vent, so it still stays cold. I agree with you on the Android front. Why not just build in the magnets like Apple does? It's frustrating to buy a case that adds magnets.
    • Hey, I've been using Windows since I was a little tyke. But for the last 15 years, I have been using Linux. I'm using EndeavourOS/Arch atm. wipe it, as in deleting anything from the SSD in the computer. Make a new partition. USB booting device should be free of malware, as long as you download it directly friom MS. Not some XYZ company.
  • Recent Achievements

    • Collaborator
      fernan99 earned a badge
      Collaborator
    • Collaborator
      MikeK13 earned a badge
      Collaborator
    • One Month Later
      Alexander 001 earned a badge
      One Month Later
    • One Month Later
      Antonio Barboza earned a badge
      One Month Later
    • Week One Done
      Antonio Barboza earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      581
    2. 2
      ATLien_0
      217
    3. 3
      Michael Scrip
      168
    4. 4
      Xenon
      136
    5. 5
      +FloatingFatMan
      124
  • Tell a friend

    Love Neowin? Tell a friend!