【问题标题】:number should be separated from specific string format数字应与特定的字符串格式分开
【发布时间】:2016-10-03 08:34:15
【问题描述】:

我是 PHP 新手。我有这种格式的字符串@@##CONTENT-21##@@,在页表的页面描述部分中包括来自内容表的不同ID。只是我只需要从内容表中分离出身份证号码和呼叫内容。如何将数字与字符串的特定格式@@##CONTENT-21##@@ 分开?

【问题讨论】:

  • @@##CONTENT-21##@@ 的输出应该是什么?
  • 向我们展示您的尝试,有很多方法可以实现这一目标,并且很多问题都提出了同样的问题
  • 使用这个 $str = '@@##CONTENT-21##@@'; $newnumber=filter_var($str, FILTER_SANITIZE_NUMBER_INT);
  • 我需要分隔 21 个类似的数字,即内容 ID。格式由客户端定义以添加到页面的描述部分。可以在相同的描述中插入不同的 id。如果我可以获取 id,我将调用页面内容的内容。

标签: php string formatting


【解决方案1】:
$string = '@@##CONTENT-21##@@';
$newnumber = filter_var($string, FILTER_SANITIZE_NUMBER_INT);

//if the number is preceeded by a (-) it will also get the (-) so trim the first char
ltrim($newnumber, '-');

【讨论】:

    【解决方案2】:

    第一个案例

    如果您确定所有字符串都以 @@##CONTENT- ##@@ 结尾,您可以使用以下代码获取它们之间的数字,假设 $str 是您的字符串和 $id 是您存储 ID 的位置。

    $id = substr($str,12,strlen($str)-16);
    

    第二种情况

    如果你不确定id的位置,但你确定id是字符串中唯一的数字,你可以用正则表达式匹配,假设$str是你的字符串$id 是您存储 ID 的位置。

    preg_match_all('!\d+!', $con_string, $matches);
    $id = implode(' ', $matches[0]);
    

    【讨论】:

      猜你喜欢
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      相关资源
      最近更新 更多