tags:

views:

49

answers:

4

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

<!-- BEGIN INSERT 1 -->

<!-- END INSERT 1 -->
+1  A: 

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.

killer_PL
+3  A: 
$after = preg_replace(
    "/<!-- BEGIN INSERT 1 -->\s*<!-- END INSERT 1 -->/",
    "<!-- BEGIN INSERT 1 -->".$insert."<!-- END INSERT 1 -->", 
    $before);
opatut
+2  A: 

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?

h3r2on
Ha! I like this.
Peter Ajtai
A: 

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));
Bogdan Constantinescu