当前位置: 首页 > 面试题库 >

PHP函数删除字符串中某些字符之间的所有字符

臧增
2023-03-14
问题内容

我对此感兴趣function delete_all_between($char1, $char2, $string) ,它将在给定的$
string中搜索$ char1和$ char2,如果找到了该字符串,则从这两个字符之间的子字符串中清除$ string, 包括 $ char1和$
char2本身。

例:

$string = 'Some valid and <script>some invalid</script> text!';
delete_all_between('<script>', '</script>', $string);

现在,$ string应该只包含

'Some valid and  text'; //note two spaces between 'and  text'

有人有快速解决方案吗?


问题答案:
<?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
}


 类似资料:
  • 问题内容: 我正在考虑使用删除字符串中的某些字符。目前尚不清楚将要删除哪些字符(即我想删除哪些字符),但是我会假定任何字符都是有效的(例如和之类的东西,等等)。 我遇到了http://www.java-tips.org/java-se-tips/java.lang/strip-certain-characters- from-a-string.html, 但是肯定有比遍历每个字符更好的方法… 有什

  • 我应该编写一个函数,排除句子(字符串)中的某些字母(char)。我基本上也这么做了,但问题是我只剪掉了这个字母在句子中的第一次出现。 我需要如何更改最后一个函数以删除字母的所有外观?找到所有索引可能并不难,但真正的困难是之后将子字符串放在一起,这样您仍然只剩下一句话,而没有某些字母。因为如果我理解正确,索引越多,您需要添加的不同子字符串就越多。 目前我得到了这个。 我们的目标是:

  • 问题内容: 我需要从字符串中删除所有字符,然后再在字符串中出现此字符: 不知道我该怎么做。 问题答案: 您可以使用strstr做到这一点。

  • 问题内容: 尝试删除所有非0-9的字母和字符和一个句点。我正在使用,但它也会删除小数,如何也保留小数? 问题答案: 试试这个代码: 现在将包含。

  • 问题内容: 我们如何从Python字符串中删除所有非数字字符? 问题答案:

  • 问题内容: 我面临网址问题,我希望能够转换标题,该标题可以包含任何内容,并去除所有特殊字符,因此它们仅包含字母和数字,当然我想用连字符替换空格。 怎么做?我听说过很多关于正则表达式(regex)的使用… 问题答案: 这应该可以满足您的需求: 用法: 将输出: 编辑: 嘿,只是一个简单的问题,如何防止多个连字符彼此相邻?并将它们替换为1?