查找/替换特定字符串PHP,直到空格

查找/替换特定字符串PHP,直到空格,php,string,loops,replace,str-replace,Php,String,Loops,Replace,Str Replace,我试图找出如何在PHP中找到一个字符串,然后在找到该字符串后删除所有并流字母,直到找到最终的空格 基本上,在我的应用程序中,我有一个大的文本混合了所有内容。对于我的输出,我想删除以字符“@”开头的任何单词 例如字符串: 这是一个占位符字符串,看起来“很好”,对吗? 如何搜索此字符串并仅删除“@great”部分?我不知道@xxx是什么,所以我首先需要搜索字符串,然后将其替换为空 我明白我可以做到这一点: <?php $string = "This is a placeholder #stri

我试图找出如何在PHP中找到一个字符串,然后在找到该字符串后删除所有并流字母,直到找到最终的空格

基本上,在我的应用程序中,我有一个大的文本混合了所有内容。对于我的输出,我想删除以字符“@”开头的任何单词

例如字符串:

这是一个占位符字符串,看起来“很好”,对吗?

如何搜索此字符串并仅删除“@great”部分?我不知道@xxx是什么,所以我首先需要搜索字符串,然后将其替换为空

我明白我可以做到这一点:

<?php
$string = "This is a placeholder #string and it looks @great right?";
$newstring = str_replace("@great", "", $string);
print $newstring;
?>

但我不知道@xxx将包含什么内容,也不知道它将包含多长时间。我所知道的是,最终会有一个的休息/空间,这就是我想要删除的所有内容

因此,如果文本包含“@”,请将其与所有并行字母一起查找,直到找到一个空格,然后删除“@xxx”,直到找到该空格。其他一切都要保持机智

有什么想法吗?

方法1 strpos()的组合用于定位原始字符串中的位置,然后substr()用于返回所需字符串。 方法2 您还可以使用explode()并使用@great作为分隔符,然后分析返回的数组以获得所需的内容方法1 strpos()的组合用于定位原始字符串中的位置,然后substr()用于返回所需字符串。 方法2 您还可以使用explode()并使用@great作为分隔符,然后分析返回的数组以获得所需内容

我发现:
相同的问题,但有$

\$(\w+)

说明:

\$:转义特殊的$字符
():在此处捕获匹配项(至少在大多数引擎中)
\w:匹配a-z、a-z和0-9(和)
+:匹配任意次数

有帮助吗

编辑:使用PHP。

我发现:
相同的问题,但有$

\$(\w+)

说明:

\$:转义特殊的$字符
():在此处捕获匹配项(至少在大多数引擎中)
\w:匹配a-z、a-z和0-9(和)
+:匹配任意次数

有帮助吗


编辑:使用PHP。

您可以使用preg\u replace

这将找到@符号,并删除它加上一个空格后的所有字母或数字

$string = "This is a placeholder #string and it looks @great right?";
$newstring = preg_replace("/@\w+\s/", "", $string);
print $newstring;

您可以使用preg\u replace

这将找到@符号,并删除它加上一个空格后的所有字母或数字

$string = "This is a placeholder #string and it looks @great right?";
$newstring = preg_replace("/@\w+\s/", "", $string);
print $newstring;

Google:regex word Boundaries你确定它后面总是有空格吗?如果它是字符串中的最后一个单词呢?在它的末尾@xxx可以有一个标点符号吗?如果是的话,应该也删除它吗?如果上面有一封电子邮件呢?xDGoogle:regex word Boundaries你确定它后面总是有空格吗?如果它是字符串中的最后一个单词呢?在它的末尾@xxx可以有一个标点符号吗?如果是的话,应该也删除它吗?如果上面有一封电子邮件呢?你需要提供更多的细节。它在一定程度上回答了这个问题,但是你可以举个例子,你需要提供更多的细节。它在一定程度上回答了这个问题,但是你可以举个例子谢谢,如果我这样做(\w+)它可以达到它的目的,但是我如何在我的上下文中使用正则表达式呢?在查找和替换的上下文中?我能知道为什么我被否决了吗?我是来帮助伙计们的。。我将编辑我的答案@uz001Thank,如果我这样做\@(\w+)似乎可以达到它的目的,但我如何在我的上下文中使用正则表达式?在查找和替换的上下文中?我能知道为什么我被否决了吗?我是来帮助伙计们的。。我将编辑我的答案@Uz001