3

How would I insert text between two comments like the ones below with PHP. Thanks in advance.

<!-- BEGIN INSERT 1 -->

<!-- END INSERT 1 -->

4 Answers 4

6
$after = preg_replace(
    "/<!-- BEGIN INSERT 1 -->\s*<!-- END INSERT 1 -->/",
    "<!-- BEGIN INSERT 1 -->".$insert."<!-- END INSERT 1 -->", 
    $before);
Sign up to request clarification or add additional context in comments.

Comments

3

a little more context might be helpful. it could be as easy as:

<!-- begin insert 1 -->
<?php echo 'text to be inserted'; ?>
<!-- end insert 1 -->

what are you trying to do?

Comments

2

Maybe just insert after first tag ?

$afterinsert = str_replace( "INSERT 1 -->" , "INSERT 1 -->\n".$toinsert , $beforeinsertion );

If you want to insert only when there are both tags, use preg_replace.

Comments

0

This will do the job. It's using substr_replace(). You can read more about it here.

<?php

$stringToInsert = "tesssst";
$oldString = "<!-- BEGIN INSERT 1 --><!-- END INSERT 1 -->";
    
$newString = substr_replace($oldString, "-->" . $stringToInsert . "<!--", strpos($oldString, "--><!--"), strlen($stringToInsert));

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.