【问题标题】:Removing first four charecters from a string using php based on multiple conditions基于多个条件使用php从字符串中删除前四个字符
【发布时间】:2015-05-22 13:50:02
【问题描述】:

我需要帮助。我需要检查一个字符串,该字符串在其第 0-5 位具有不同的特定模式。我需要从那个位置删除那个模式,你能在这方面帮助我吗?我是php初学者。

例如。

  1. 如果像“009715012345”这样的数字字符串,我需要从前 5 个位置裁剪 00971

2.如果像“+9715012345”这样的数字字符串,我需要从前 5 个位置裁剪 +971

3.如果像“97105012345”这样的数字字符串,我需要从前 4 个位置裁剪 9710

想要检查所有情况。当它插入数据库时​​,它应该从 5012345 开始

【问题讨论】:

  • 但是你为什么不尝试裁剪最后 7 位数字???逻辑思考
  • $newstring = substr('009715012345', -7); or $newstring = substr('+97105012345', -7); or $newstring = substr('97105012345', -7); 相同功能满足所有要求
  • 其次,您已经用伪代码进行了布局,您知道该怎么做。加入一些 if 语句 (php.net/manual/en/control-structures.if.php),你应该是金子。 SO,你需要什么,这个网站不能代替文档、实践和尝试?

标签: php string


【解决方案1】:

你需要使用preg_replace函数。

$re = "/^(?:(?:\\+|00)971|9710)/m";
$str = "009715012345\n+9715012345\n97105012345";
$subst = "";
$result = preg_replace($re, $subst, $str);
echo $result;

DEMO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 2013-08-20
    相关资源
    最近更新 更多