Php 如何删除随机数量的点并获得最后一个数字?

Php 如何删除随机数量的点并获得最后一个数字?,php,Php,我试图去掉所有的点,然后得到数字,并将[X]命名为输出 我的输出是: NAME..................................................................................................3 NAME2...................................................................................................24 NAME

我试图去掉所有的点,然后得到数字,并将[X]命名为输出

我的输出是:

NAME..................................................................................................3
NAME2...................................................................................................24
NAME3...............................................................................................................................................5
NAME4.......................347
NAME5............................................................................................7
NAME6......................................................................9
到目前为止,我已经尝试过类似的方法:

function introExcerpt($id = null, $introExcerptCut = null)
    {
     
        $fileInfo['intro'] = 'my string';
        $introExcerpt = trim($fileInfo['intro']);

        $lines = preg_split('/\r\n|\r|\n/', $introExcerpt);
        $intro = '<div class="toc"><ul class="toc">';
        
        for ($i = 0; $i < count($lines); $i++) {
           // if (isset($lines[$i]) && substr(trim($lines[$i]), -1) !== '.') {
                $intro.= $lines[$i].'<br />';
            //}
        }
        $intro .= '</div></ul>';

        return $intro;
    }
    
函数IntroExcept($id=null,$IntroExceptCut=null)
{
$fileInfo['intro']=“我的字符串”;
$introextract=trim($fileInfo['intro']);
$lines=preg_split('/\r\n |\r |\n/',$introextract);
$intro='
    '; 对于($i=0;$i<计数($line);$i++){ //if(isset($lines[$i])和substr(trim($lines[$i]),-1)!=='。){ $intro.=$lines[$i]。
    ; //} } $intro.='
'; 返回$intro; }
不确定您的输出应该是什么样子,但您可以尝试直接在包含所有行的变量上运行
preg\u replace

$lines=preg_replace(“/(名称\d+)\。+(\d+/”,“$1[$2]”,$lines);
这将根据示例输入生成以下输出:

NAME[3]
NAME2[24]
NAME3[5]
NAME4[347]
NAME5[7]
NAME6[9]

不确定您的输出应该是什么样子,但您可以尝试直接在包含所有行的变量上运行
preg\u replace

$lines=preg_replace(“/(名称\d+)\。+(\d+/”,“$1[$2]”,$lines);
这将根据示例输入生成以下输出:

NAME[3]
NAME2[24]
NAME3[5]
NAME4[347]
NAME5[7]
NAME6[9]

您可以使用以下功能:

function introExcerpt($str, $id = null, $introExcerptCut = null)
{

    $fileInfo['intro'] = $str;
    $introExcerpt = trim($fileInfo['intro']);

    $lines = preg_split('/\r\n|\r|\n/', $introExcerpt);
    $intro = '<div class="toc"><ul class="toc">';

    for ($i = 0; $i < count($lines); $i++) {
        $intro .= '<li>';
        $tmpLineArray = explode('.', $lines[$i]);
        array_filter($tmpLineArray, function ($value) {
            return !is_null($value) && $value != '';
        });

        foreach ($tmpLineArray as $value) {
            $intro .= $value . ' ';
        }
        
        $intro .= '</li>';
    }
    $intro .= '</ul></div>';

    return $intro;
}
函数introextract($str,$id=null,$introextractput=null)
{
$fileInfo['intro']=$str;
$introextract=trim($fileInfo['intro']);
$lines=preg_split('/\r\n |\r |\n/',$introextract);
$intro='
    '; 对于($i=0;$i<计数($line);$i++){ $intro.=“
  • ”; $tmpLineArray=分解('.',$lines[$i]); 数组过滤器($tmpLineArray,函数($value){ return!为空($value)&&$value!=''; }); foreach($tmpLineArray作为$value){ $intro.=$value.'; } $intro.='
  • '; } $intro.='
'; 返回$intro; }

它使用点作为分隔符将整行拆分为数组,并过滤掉空元素。

您可以使用以下功能:

function introExcerpt($str, $id = null, $introExcerptCut = null)
{

    $fileInfo['intro'] = $str;
    $introExcerpt = trim($fileInfo['intro']);

    $lines = preg_split('/\r\n|\r|\n/', $introExcerpt);
    $intro = '<div class="toc"><ul class="toc">';

    for ($i = 0; $i < count($lines); $i++) {
        $intro .= '<li>';
        $tmpLineArray = explode('.', $lines[$i]);
        array_filter($tmpLineArray, function ($value) {
            return !is_null($value) && $value != '';
        });

        foreach ($tmpLineArray as $value) {
            $intro .= $value . ' ';
        }
        
        $intro .= '</li>';
    }
    $intro .= '</ul></div>';

    return $intro;
}
函数introextract($str,$id=null,$introextractput=null)
{
$fileInfo['intro']=$str;
$introextract=trim($fileInfo['intro']);
$lines=preg_split('/\r\n |\r |\n/',$introextract);
$intro='
    '; 对于($i=0;$i<计数($line);$i++){ $intro.=“
  • ”; $tmpLineArray=分解('.',$lines[$i]); 数组过滤器($tmpLineArray,函数($value){ return!为空($value)&&$value!=''; }); foreach($tmpLineArray作为$value){ $intro.=$value.'; } $intro.='
  • '; } $intro.='
'; 返回$intro; }

它使用点作为分隔符将整行拆分为数组,并过滤掉空元素。

A
preg\u split
对循环中的多个点进行拆分是一种简单的方法。实际的预期输出是什么?A
preg\u split
对循环中的多个点进行拆分是一种简单的方法。实际的预期输出是什么?