【问题标题】:PHP: String replace to delete everything except "foo"? [closed]PHP:字符串替换以删除除“foo”之外的所有内容? [关闭]
【发布时间】:2014-02-08 13:30:02
【问题描述】:

我可以使用什么函数来获取这个字符串:

The random foo wants to be left alone.

到这里:

foo

?

注意:foo 出现在随机生成的文本中

【问题讨论】:

  • 这个问题是题外话,因为它缺乏最小的研究工作。用您尝试过的方法更新您的问题。
  • 如果有一个“foo”就是。

标签: php string text replace


【解决方案1】:

可能是这样

$arr=explode(' ',$string);//OR ANY OTHER DELIMITER
if(in_array($foo,$arr)) $x=$foo;

【讨论】:

    【解决方案2】:
    if (strpos(' '.$a.' ',' foo ') !== false) {
        $a = "foo";
    }
    elseif(strpos(' '.$a.' ',' foo.') !== false) {
        $a = "foo";
    }
    

    感谢 cmets,这应该可以工作。如果它是句子中的最后一个单词并且以“!”结尾,则不起作用或者 ”?”等等,但你可以为此创建elseif,就像 "." 的 elseif 一样

    【讨论】:

    • 如果有一个词叫food 怎么办?
    • 好评论,完全没想到。
    • 任何一方的空格都应该解决这个问题
    • 是的,但是如果它是第一个单词,它就不会被计算在内
    • 您还需要一件事来确保它正常工作...如果 'foo' 在第一个或正确的位置怎么办?你需要扩展''.$a.' ' 在 strpos... strpos(' '.$a.' ',' foo '); (在字符串之前和结尾添加空格,不确定是否在评论中看到)
    猜你喜欢
    • 2011-11-08
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 2012-10-24
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多