【问题标题】:PHP - split a string by delimiterPHP - 通过分隔符分割字符串
【发布时间】:2012-07-31 10:47:52
【问题描述】:

我有一个这样的字符串

$string = "
##
First name A
Last Name A
email@emailA.com
##<br />
##
First name B
Last Name B
email@emailB.com
##<br />
##
First name C
Last Name C
email@emailC.com
##<br /> 
.......
";

还有一个关键字,

$keyword = "email@emailB.com";

在这种情况下,我想要的是在搜索关键字时输出“## 和##”之间的字符串

First name B
Last Name B
email@emailB.com

非常感谢任何帮助。

【问题讨论】:

  • 你应该使用一些花哨的正则表达式来解决这个问题。你试过了吗?
  • 能否修改字符串的生成方式?或者这是从第三方传递给您的?
  • 欢迎来到 Stack Overflow。人们喜欢看到你在来这里之前已经很好地尝试了这个问题。您能否将您拥有的任何代码提供给我们,我们可以从那里为您提供帮助。
  • 使用 preg_split 将您的字符串转换为一个项目数组,然后使用 preg_grep 查找匹配项(您需要 preg_quote 您的搜索字符串)
  • 看看regular expressions。这应该可以帮助您将来解决类似的问题。

标签: php string split explode delimiter


【解决方案1】:

使用正则表达式:

echo preg_replace('/#+(.*?'.preg_quote($keyword,'/').'.*?)#+/i','$1',$string);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
  • 2013-11-24
  • 2021-06-12
  • 1970-01-01
  • 2017-03-25
相关资源
最近更新 更多