Хочешь что-нибудь подобное?Немного логики и регулярных выражений, и все готово.Объясняется в комментариях.
<?php
// example code
$string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
$post = from("consectetur", "ut", $string, "<a>");
function from($from,$to, $string, $tag) {
$frompost = strpos($string, $from); // get the pos of first string
$topost = strpos($string, $to); // get the post of second string
$substrfirst = substr($string, 0 , $frompost) . $tag; // trim string for the first word and add concatinate the tag
$substrsecond = $substrfirst . substr($string, $frompost , strlen($from)); // trim another string starting from the first word and ending the length of the word and combine it with previous result
$strinbetweenregex = '/(?<='.$from.')(.*)(?='.$to.')/'; // regex to get string in between
preg_match($strinbetweenregex, $string, $matches); // get regex result
$restString = substr($string, $topost + strlen($to) , strlen($string)); // get the rest of the string by starting from last str postition + the length of the last str to the length of the str
return $substrsecond. $matches[0] . $to .$tag . $restString; // return all the string.
}
Это даст Lorem ipsum dolor sit amet, <a>consectetur adipiscing elit, sed do eiusmod tempor incididunt ut</a> labore et dolore magna aliqua.
Это также дает нам неравенство.Это
$frompost < $topost
Это также означает, что ваш первый аргумент должен идти первым слева направо, а затем второй аргумент.