How to I replace a block of text while specifying start and end tags and a replacement string?

I need to replace a block of text e.g.

abcdefg
<start-tag>

this is some
text which
I want to remove

<end-tag
hijklmnop

With some some other text e.g.

new text

So the result should be...

abcdefg
new text
hijklmnop

I would expect the function to work like this

$result = str_replace_func($my_text, "<start-tag>", "<end-tag">, "new text");

mindwarpltdAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Sander StadSysteemontwikkelaar, Database AdministratorCommented:
The str_replace function does not look between strings but searches for strings that are given. You could use the code I added.
What is does is it gets a variable with the text it has to search. Than a pattern is made, you could make this dynamic with variables in a function. Than the content what will replace the old.
At last the preg_replace function calls all teh three variables and replaces the text.

$p = '<style type="text/css"> css css css</style>'; 
$pattern = "/<style\b[^>]*>(.*?)<\/style>/ims"; 
$content = "test"; 
echo preg_replace($pattern, $content, $p); 

Open in new window

0
mindwarpltdAuthor Commented:
I'm a little confused by the pattern. Can you show me what my pattern would look like?
0
Sander StadSysteemontwikkelaar, Database AdministratorCommented:
It would look like this:
 

$p = '<start-tag>this is some text i want to remove</end-tag>'; 
$pattern = "/<sart-tag\b[^>]*>(.*?)<\/end-tag>/ims"; 
$content = "new text"; 
echo preg_replace($pattern, $content, $p); 

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
mindwarpltdAuthor Commented:
Ooops...

I had to change the start and end tags...
I have...

$pattern = "/<!-- Start Foot Ad --\b[^>]*>(.*?)<!-- End Foot Ad -->/ims";


<!-- Start Foot Ad -->
whatever
<!-- End Foot Ad -->

Help
0
mindwarpltdAuthor Commented:
I've worked out the answer.

$pattern = "/<!--StartFootAd-->(.*?)<!--EndFootAd-->/ims";
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.