【问题标题】:Preg_match_all and javascript arrayPreg_match_all 和 javascript 数组
【发布时间】:2013-04-06 07:53:26
【问题描述】:

我想从 javascript 数组中提取数字“28”:

array.content(2,'28','0');

所以我用正则表达式写了这样的东西:

(preg_match_all("/array.content(2,\'(.*?)\');/", $result, $con)

它不起作用,请帮助;)

【问题讨论】:

  • 首先preg_match_all的参数顺序不对,如果变量名反映了它的值。切换$result$con
  • 您是要修改字符串还是只检索值?

标签: php javascript regex arrays preg-match-all


【解决方案1】:

这个正则表达式应该可以工作:

        "/array\.content\(2\,\'?([0-9]+)\'?\,[^\)]*\)\;/ui"

并在preg_match_all的参数中用$con切换$result变量 在这里测试:http://regexr.com?34e0q

如果第一个参数不总是 2(而是一个数字变量),你可以使用这个:

        "/array\.content\(\'?[0-9]+\'?,\'?([0-9]+)\'?\,[^\)]*\)\;/ui"

测试:http://regexr.com?34e16

查看您的结果:

var_dump($result);  //$result[1] contains what you need ;)

【讨论】:

    【解决方案2】:

    Javascript

    如果您尝试删除该元素,请查看 Javascript 的 Array.splice()

    如果您要查找元素,只需使用Array.indexOf()

    PHP

    preg_match_all(#\((.*)(,|\))#, "array.content(2,'28','0');", $matches);
    

    您可能想澄清您的问题并查看 php 的 preg_match_all() 文档。

    【讨论】:

      猜你喜欢
      • 2012-05-19
      • 1970-01-01
      • 2011-08-28
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 2012-11-02
      • 1970-01-01
      相关资源
      最近更新 更多