String Replace Function

in #ctp5 years ago


Today I wanted to talk about the String Replace function in PHP. This function allows us to do multiple things, I like it specifically to be able to store information like a page layout in my database. The problem is that some things need to be dynamic. I use string replace to achieve this.

For example, if members logged into my website maybe I would want a part to say something like "Hello Blain". Overall it seems pretty easy but if I am storing the page content itself in the database to be recalled whenever a member logs in, I cannot make the "Blain" part dynamic. It will always say Blain, unless I use string replace.

When preparing to use string replace, I need to setup the page to properly have the right variable. I tend to use hashtags to identify pieces of information that will need to be replaced. So in this example, I will use #FIRSTNAME# wherever I want the members first name to appear. Then when I load the page, I run a simple function to replace #FIRSTNAME# with the members first name. This gives the member a unique experience!

Getting into the function itself, string replace will look like this in PHP:

str_replace ($search, $replace, $content);

$search is what I am searching for, in this case it would be #FIRSTNAME#

$replace is what I am replacing it with, which would be something like Blain, Jon, Mary, Elizabeth, etc.. depending on the user

$content is the content itself that I pulled from the database.

So in a simplified version this is what it may look like:

$content = $database_content;

$member_firstname = $name_from_database;

$newcontent = str_replace("#FIRSTNAME#",$member_firstname,$content);

echo $newcontent;

So I pulled the page content from the database as $content. I then pulled the members first name from the database as $member_firstname. And lastly I ran the string replace function with the result being $newcontent. Then I echoed $newcontent to display the result on the page.

Easy Peasy!

Sort:  

I love it Easy Peasy! yer for some of us I am sure you will confuse most with this one.