如何在php中检测段落中包含@符号的所有文本
在我当前的php项目中,我将在一个段落中发送一些带有@符号的特殊文本到后端。我需要检测所有带有@符号的单词,并将它们作为数组。我尝试使用下面的正则表达式,但它不起作用,有人能帮我解决这个问题吗如何在php中检测段落中包含@符号的所有文本,php,arrays,regex,laravel-5.1,Php,Arrays,Regex,Laravel 5.1,在我当前的php项目中,我将在一个段落中发送一些带有@符号的特殊文本到后端。我需要检测所有带有@符号的单词,并将它们作为数组。我尝试使用下面的正则表达式,但它不起作用,有人能帮我解决这个问题吗 $text = "my text has some @signs and @names"; preg_match_all('/(?<!\w)@\w+/', $text, $matches); print_r($matches); $text=“我的文本有一些@符号和@名称”; 如果你的文章
$text = "my text has some @signs and @names";
preg_match_all('/(?<!\w)@\w+/', $text, $matches);
print_r($matches);
$text=“我的文本有一些@符号和@名称”;
如果你的文章很长,preg_match_all('/(?可能不是最好的解决方案,但这会起作用:
$marked = array();
foreach (explode(' ', $text) as $word) {
if ($word[0] == '@') {
$marked[] = $word;
}
}
将导致:
Array
(
[0] => @signs
[1] => @names
)
如果您的文本很长,可能不是最好的解决方案,但这将起作用:
$marked = array();
foreach (explode(' ', $text) as $word) {
if ($word[0] == '@') {
$marked[] = $word;
}
}
将导致:
Array
(
[0] => @signs
[1] => @names
)
您的代码似乎确实在工作:。如果这不是预期的输出,您必须说明缺少的内容。请提供一个可复制的示例以及预期的输出。当您询问正则表达式问题时,请提供一个输入和输出示例。没有它,我们无法测试我们的解决方案。您的代码似乎确实在工作:。如果这不是expected输出,您必须说明缺少的内容。提供一个可复制的示例以及预期输出。请在您提出正则表达式问题时,提供一个输入和输出示例。没有它,我们无法测试我们的解决方案。