• 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

    • Ah yes, nothing says 'user-friendly' like 500 distros and 0 standards.
    • If this doesn't become the year of the Linux desktop, then it will never come. They already wasted the Windows Vista fiasco, the Windows 8 fiasco, let's see what will happen now.
    • Linux is the way to go, so many distributers with great offerings, no more bloatware with Windows 11, the Linux operating system boots much more quickly with much lower CPU requirements, why wouldn't you if you only need a great browsers to access online services.
    • Master PDF Editor 5.9.90 by Razvan Serea Master PDF Editor is straightforward, easy to use application for working with PDF documents equipped with powerful multi-purpose functionality. With Master PDF Editor you can easily view, create and modify PDF documents. The application enables you to merge several files into one, split a source document into multiple documents, and also to comment, sign and encrypt PDF files. Master PDF Editor – Features at a glance: Edit PDF text, images and pages with full editing features. Create new PDF or edit existing ones. Add and/or edit bookmarks in PDF files. Encrypt and/or protect PDF files using 128 bit encryption. Convert XPS files into PDF. Add PDF controls (like buttons, checkboxes, lists, etc.) into your PDFs. Import/export PDF pages into common graphical formats including BMP, JPG, PNG, and TIFF. Split and merge PDF files. JavaScript support. Dynamic XFA form support. Validation Forms and Calculate Values. Fast and simple PDF forms fill out. Signing PDF documents with digital signature, signatures creation and validation. Changing font attributes (size, family, color etc). Master PDF Editor 5.9.90 changelog: Added support for page alignment options. Added the function to save search history. Added support for Z-reordering multiple objects simultaneously. Fractional scale values are supported during printing. General improvements and fixes for file saving. Fixed issues related to PDF page display. Fixed problems related to navigation between pages. Improved compatibility with XFA-based PDF documents. Bug fix for text object editing. Fixed bugs related to page cropping. Enhanced detection of conflicting keyboard shortcuts. Resolved printing issues. Fixed a bug related to increase in the file size when scanning. Fixed PDF preview rendering in Microsoft Outlook. Resolved an issue with opening Certificate Manager on macOS. Download: Master PDF Editor 64-bit | Master PDF Editor 32-bit ~60.0 MB (Shareware) Download: Master PDF Editor for Linux | 66.8 MB Download: Master PDF Editor for macOS | 59.8 MB View: Master PDF Editor Home Page | Release History | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • NTLite 2025.06.10456 by Razvan Serea NTLite is a Windows configuration tool that allows you to modify your existing Windows install or an image yet to be deployed, remove Windows components, configure and integrate, speed up the Windows deployment process. Reduce Windows footprint on your RAM and storage drive memory. Remove components of your choice, guarded by compatibility safety mechanisms, which speed up finding that sweet spot. Windows Unattended feature support, providing many commonly used options on a single page for easy setup. Easily integrate a single or multiple drivers, update or language packages. Package integration features smart sorting, enabling you to seamlessly add packages for integration and the tool will apply them in the appropriate order, keeping hotfix compatibility in check. One of the important new features of NTLite (compared to its predecessors) is the ability to modify an already installed the operating system, by removing unnecessary components. Supports Windows 11, 10, 8.1 and 7, x86 and x64, live and image. Server editions of the same versions, excluding support for component removals and feature configuration. ARM64 image support in the alpha stage. Does not support Checked/Debug, Embedded, IoT editions, nor Vista or XP. NTLite 2025.06.10456 changelog: New Image: Windows 11 24H2 Preview build 26120 support Components: ‘Microsoft Platform Thermal Framework (MPTF)’ Components: ‘Inter-Integrated Circuit (I2C)’ Components: ‘Windows Hotpatching’ Settings: ‘Share any window from my taskbar’ Upgrade Image: Faster removal of editions if only one kept for a given image Components: ‘Windows Feature Experience Pack – SXS’ is a merger of new 24H2 components: Taskbar, Filons, Voiess, Speion, Livtop and InpApp Features: Win11 24H2 image shows a few more Features on Demand, including .NET 3.5 UI-Translation: Thanks for Chinese Traditional (Matt), French (tistou77), Hungarian (John), Italian (clarensio), Russian (RDS), Turkish (Salih DURDU) Fix Components: ‘Internet printing’ is needed for Host Refresh if Printing kept (investigating, cannot even just disable it) Settings: Wallpaper Style value fixes Download: NTLite 64-bit | 21.2 MB (Free, paid upgrade available) Download: NTLite 32-bit | 18.8 MB Link: NTLite Home Page | NTLite Features | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • One Year In
      fred8615 earned a badge
      One Year In
    • Week One Done
      Jim Dugan earned a badge
      Week One Done
    • Week One Done
      Adam Todd earned a badge
      Week One Done
    • Contributor
      Ed B went up a rank
      Contributor
    • One Month Later
      moporcho earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      214
    2. 2
      snowy owl
      156
    3. 3
      ATLien_0
      134
    4. 4
      Xenon
      123
    5. 5
      +FloatingFatMan
      114
  • Tell a friend

    Love Neowin? Tell a friend!