【问题标题】:How to get a substring throughout document knowing the markers?如何在知道标记的文档中获取子字符串?
【发布时间】:2011-04-21 05:33:39
【问题描述】:

我知道需要的字符串介于两者之间

"=t\">" 和 ")"

但这在正文中会出现多次。

如何在出现这种情况的多个实例之间进行提取?

我试过Explode,多种功能,preg_split,6小时 并且只会得到错误的结果 - 有可能吗?

【问题讨论】:

标签: php regex string


【解决方案1】:

假设您的分隔符是=t\">)

preg_match_all('/=t\\">([.\n]+?)\)/', $str, $matches);

var_dump($matches);

听起来您正在尝试解析一些 HTML。你考虑过 DOMDocument 吗?

【讨论】:

  • 我无法让它工作 - 我认为反斜杠和正斜杠是一个问题,分隔符实际上是 =t"\> 和 )
  • 我想问题是如何在 preg_match_all 的字符串中编码“/”
  • @Graham 你用反斜杠转义它(你只需要使用/ 作为正则表达式分隔符)。
  • 警告:preg_match_all() [function.preg-match-all]:编译失败:/preg_match_all('#=t\\>([.\n]+? )\)#', $s, $matches);我尝试的任何方式似乎都不起作用
  • @Graham 你的最后确实有一个不匹配的括号。
猜你喜欢
  • 2020-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-25
  • 2014-02-01
  • 2010-10-14
相关资源
最近更新 更多