无法使用 echo 输出正则表达式数组。注意:未定义的偏移量:0。如何修复它?

发布于 2024-11-27 16:58:32 字数 224 浏览 0 评论 0原文

$from= "You can win $200,000 tonight.";
$output = preg_match("/\$[\d\,]+/", $from, $matches);
echo $matches[0];

这是行不通的。它给了我这个错误:

注意:未定义的偏移量:0

我想输出“$200,000”。

预先感谢您的帮助。

$from= "You can win $200,000 tonight.";
$output = preg_match("/\$[\d\,]+/", $from, $matches);
echo $matches[0];

This is not working. It gives me this error:

Notice: Undefined offset: 0

I want to output the "$200,000".

Thanks in advance with any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

伤痕我心 2024-12-04 16:58:32

尝试

$output = preg_match("/\\$[\d\,]+/", $from, $matches);

你必须用 double \

http://ideone.com/digsP转义两次 $ 符号

try

$output = preg_match("/\\$[\d\,]+/", $from, $matches);

You have to escape twice the $ symbol with double \

http://ideone.com/digsP

时光匆匆的小流年 2024-12-04 16:58:32

你用正则表达式的双引号射中了自己的膝盖。试试这个:

$from= "You can win $200,000 tonight.";
if(preg_match("/\$[\d\,]+/", $from, $matches)) {
  echo $matches[0];
}

你看,没有匹配。您必须转义两次,一次用于字符串,一次用于正则表达式引擎:

$from= "You can win $200,000 tonight.";
if(preg_match("/\\\$[\d\,]+/", $from, $matches)) {
  echo $matches[0];
}

HTH,
CK

You shot yourself into your knee with the double quotes of the regex. Try this one:

$from= "You can win $200,000 tonight.";
if(preg_match("/\$[\d\,]+/", $from, $matches)) {
  echo $matches[0];
}

You see, no match. You have to escape twice, once for the string and once for the regex engine:

$from= "You can win $200,000 tonight.";
if(preg_match("/\\\$[\d\,]+/", $from, $matches)) {
  echo $matches[0];
}

HTH,
CK

星星的轨迹 2024-12-04 16:58:32

只需转义 $ 两次即可。

$output = preg_match("/\\$[\d\,]+/", $from, $matches);

Just escape $ twice.

$output = preg_match("/\\$[\d\,]+/", $from, $matches);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文