PHP function to delete all between certain character(s) in string
php, string
Solution
<?php
$string = 'Some valid and <script>some invalid</script> text!';
$out = delete_all_between('<script>', '</script>', $string);
print($out);
function delete_all_between($beginning, $end, $string) {
$beginningPos = strpos($string, $beginning);
$endPos = strpos($string, $end);
if ($beginningPos === false || $endPos === false) {
return $string;
}
$textToDelete = substr($string, $beginningPos, ($endPos + strlen($end)) - $beginningPos);
return delete_all_between($beginning, $end, str_replace($textToDelete, '', $string)); // recursion to ensure all occurrences are replaced
}
Problem
I'm interested in `function delete_all_between($char1, $char2, $string)` that will search given $string for $char1 and $char2 and, if such has been found, clear $string from substring between these two characters, including $char1 and $char2 itself. Example: ``` $string = 'Some valid and <script>some invalid</script> text!'; delete_all_between('<script>', '</script>', $string); ``` Now, $string should contain just ``` 'Some valid and text'; //note two spaces between 'and text' ``` Does someone have quick solution?