在php substr(INFORMATICS& SYSTEMS-58600,-5)中返回ATICS'

时间:2015-10-08 03:49:09

标签: php substr

我知道之前已经问过这类问题,但没有一个能解决我的问题。

  1. 我想捕获此字符串INFORMATICS&SYSTEMS-58600的数字部分,即58600
  2. 我正在尝试substr(INFORMATICS&SYSTEMS-58600,-5)返回ATICS,它是字符串INFORMATICS的第一部分的子字符串,但我想要最后一部分。
  3. 无论在哪里&出现这种情况表现相同。
  4. 我知道这是一个非常基本的错误,但是???我想不出来。请帮帮我。

3 个答案:

答案 0 :(得分:1)

$str = 'INFORMATICS&SYSTEMS-58600';
preg_match_all('!\d+!', $str, $matches);
print_r($matches);

可以参考Extract numbers from a string

答案 1 :(得分:1)

Actully PHP substr工作正常。 1.我将此文本作为url查询传递给ajax,即get_data.php?dept ='informatics&系统'所以在&之后被视为第二个参数。

  1. 我在link找到了这个很好的答案,可以在url中传递ajax参数作为编码。

答案 2 :(得分:0)

此代码中的正则表达式匹配字符串末尾的数字。

<?php
  $str = "INFORMATICS&SYSTEMS-58600";
  $matches = array();
  preg_match("/\d+$/", $str, $matches);
  foreach($matches as $match) {
    echo $match;
  }
?>

输出:

58600