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

获取两个字符串之间的内容PHP

马新觉
2023-03-14
问题内容

什么是获取两个字符串之间内容的最佳方法,例如

ob_start();
include('externalfile.html'); ## see below
$out = ob_get_contents();
ob_end_clean();

preg_match('/{FINDME}(.|\n*)+{\/FINDME}/',$out,$matches);
$match = $matches[0];

echo $match;

## I have used .|\n* as it needs to check for new lines. Is this correct?

## externalfile.html

{FINDME}
Text Here
{/FINDME}

由于某种原因,这似乎在我的代码中的一个地方起作用,而不是另一个地方。我会以正确的方式解决这个问题吗?或者,还有更好的方法?

输出缓冲区也是这样做的方法还是file_get_contents?

提前致谢!


问题答案:
  • 使用#代替,/这样您就不必逃避它们。
  • 该修改 s品牌.\s还包括换行。
  • {}具有各种功能,例如的n到m倍{n,m}
  • 基础的

    preg_match('#\\{FINDME\\}(.+)\\{/FINDME\\}#s',$out,$matches);
    
  • 各种标签等的高级(JavaScript样式不是很好)。

    $delimiter = '#';
    

    $startTag = ‘{FINDME}’;
    $endTag = ‘{/FINDME}’;
    $regex = $delimiter . preg_quote($startTag, $delimiter)
    . ‘(.*?)’
    . preg_quote($endTag, $delimiter)
    . $delimiter
    . ‘s’;
    preg_match($regex,$out,$matches);


将此代码放入函数

  • 对于您不想执行任何 杂散 php代码的任何文件,应使用file_get_contents。包含/要求甚至不应该是一个选项。


 类似资料:
  • 问题内容: 我需要从两个字符之间获取字符串。我有这个 并且必须在一个变量中分别返回4个字符串: 问题答案: 有。由于它接受正则表达式字符串,并且是正则表达式中的特殊字符,因此您需要对其进行转义(带有反斜杠)。而且,由于是在Java中字符串字面特殊字符,你需要逃脱 它 ,也一样,人们有时会感到迷惑。因此给出: 然后 将输出 ( 在 前三位上 有 尾随空格;如果需要,这些空格。)

  • 问题内容: 我从html解析中得到一个字符串,即 我的代码是这样的 我不确定我的第二个拆分字符串应该是“’”还是“’,” 我希望我的结果是 问题答案: 我将使用正则表达式从这样的复杂输入中提取子字符串。 Swift 3.1: Swift 2.0:

  • 我如何在每两个标记()之间获得一些文本,在更改了这两个标记的文本之后,我需要完整的字符串和更改。 更改前 null 改了以后,应该是这样的 null 实际上我需要一个这样的方法, 我怎么才能得到这个。 多谢了。

  • 问题内容: 我试图从一个较大的字符串中提取一个字符串,使它在’:’和’;’之间得到一切。 当前 期望的输出 问题答案: 你可以试试这个

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我需要一个函数来返回两个单词(或两个字符)之间的子字符串。我想知道是否有实现该功能的php函数。我不想考虑正则表达式(嗯,我可以做一个,但实际上并不认为这是最好的方法)。思维与功能。这是一个例子: 我们调用该函数: 它返回:“我想要一个蛋糕”。 提前致谢。 更新: 嗯,到

  • 问题内容: 我有绳子。我想在组织名称之后(在两个“ ..”字符之后)和管道字符之前获取子字符串。因此,输出字符串应为- 。你能帮忙吗? 我一直在尝试形成这样的正则表达式,但似乎没有用。 问题答案: 您可以使用它。 编辑: 这将恰好匹配两个点,后跟一个或多个字符,直到字符串末尾为止。