【问题标题】:Removing Strings from both left & right in dynamic changing string in PHP在PHP中的动态变化字符串中从左右删除字符串
【发布时间】:2013-12-27 04:04:04
【问题描述】:

我有一个包含 100 多个动态变化的键的数组。

([chap1e1], [chap1m1], [chap1h1], ..., [chap100e1], [chap100m1], [chap100h1], ...)

我使用以下方法从左右删除字符串以获得动态数字变化(即 1 - 100 - ...)。但是在这里,我需要删除的右边是最后两个字符。

foreach ($_POST as $k => $v) {    
    $unit = substr(substr($k, 4), 1, -2);
    echo $unit;
}

但逻辑似乎一直有效,直到数字为(一位数)。

有没有其他方法可以从左右两侧动态修剪字符串?请提出任何想法。谢谢!

使用 substr() 的解决方案

$unit = substr(substr($k, 4), 0, -2)

【问题讨论】:

    标签: php string trim substr


    【解决方案1】:

    你可以试试正则表达式匹配,例如

    if (preg_match('/^[A-Za-z]{4}(\d+)/', $k, $matches)) {
        echo $matches[1];
    }
    

    这假设左边的 alpha 字符串只有 4 个字符(即模式中的 {4}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-30
      • 2019-10-15
      • 1970-01-01
      • 2015-11-14
      • 2023-04-01
      • 1970-01-01
      • 2012-09-02
      • 1970-01-01
      相关资源
      最近更新 更多