Skip to content Skip to sidebar Skip to footer

Php String Replace Between Two Html Tags

I am trying to replace text between two tags in a html document. I want to replace any text that isn't enclosed with a < and >. I want to use str_replace to do this. php $str

Solution 1:

Try this:

<?php$string = '<html><h1> some text i want to replace</h1><p>
    some stuff i want to replace </p>';
$text_to_echo =  preg_replace_callback(
    "/(<([^.]+)>)([^<]+)(<\\/\\2>)/s", 
    function($matches){
        /*
         * Indexes of array:
         *    0 - full tag
         *    1 - open tag, for example <h1>
         *    2 - tag name h1
         *    3 - content
         *    4 - closing tag
         */// print_r($matches);$text = str_replace(
           array("text", "want"), 
           array('TEXT', 'need'),
                $matches[3]
        );
        return$matches[1].$text.$matches[4];
    }, 
    $string
);
echo$text_to_echo;

Solution 2:

str_replace() can not handle this

You will need regex or preg_replace for that

Post a Comment for "Php String Replace Between Two Html Tags"