【发布时间】:2018-05-05 01:09:10
【问题描述】:
我试图弄清楚如何在 PHP 中找到一个字符串,然后在找到该字符串之后删除所有并列的字母,直到最终出现空格。
基本上在我的应用程序中,我有一个大文本与所有内容混合在一起。对于我的输出,我想删除以字符“@”开头的所有单词。
例如字符串:
这是一个占位符#string,它看起来很棒,对吧?
如何搜索此字符串并仅删除“@great”部分?我不知道@xxx 是什么,所以我首先需要搜索字符串,然后将其替换为空。
我知道我可以这样做:
<?php
$string = "This is a placeholder #string and it looks @great right?";
$newstring = str_replace("@great", "", $string);
print $newstring;
?>
但我不知道@xxx 将包含什么或它将持续多长时间。我所知道的是会有一个最终的休息/空格,这就是我想要删除的所有内容。
因此,如果文本包含“@”,则将其与所有并列字母一起查找,直到空格,然后删除“@xxx”直到空格。保留其他所有内容。
有什么想法吗?
【问题讨论】:
-
谷歌:正则表达式单词边界
-
你确定后面总是有空格吗?如果它是字符串中的最后一个单词怎么办? @xxx 结尾是否可以有标点符号,如果有,是否也应该删除?
-
如果上面有电子邮件怎么办? xD
标签: php string loops replace str-replace