problema su stringa

buongiorno,
ho iniziato da poco a programmare/utilizzare php quindi mi scuso in aticipo per la domanda che sicuramente per la maggior parte di voi potrà sembrare banale ma ho un problema che non riesco a risolvere..

effettuo una ricerca in un DB in base a dei criteri ed estraggo un dato che può avere solo questi 2 tipi di sintassi:
DFVG o 2DFVG
e fino a qui nessun problema.

Adesso dovrei:
- verificare che ci sia o no un numero nella stringa
- nel caso in cui è presente un numero dovrei sommare il "numero presente" con il "numero totale delle lettere" (es. stringa 2DFVG = 6)
- nel caso in cui non ci fosse un numero sommare solo le lettere (es. stringa DFVG = 4)
- in ogni caso alla fine dovrò avere una variabile con dentro il numero ottenuto


qualcuno ha qualche idea?
Grazie mille!

inviato un anno fa
Marco82
X 0 X

Ciao,

Lo puoi fare con le espressioni regolari.

<?php

// Stringa da processare
$str = '2DFVG';

// Espressione regolare per ricavare valori numerici
preg_match_all('!\d+!', $str, $matches);

// Controllo se ha trovato qualcosa
if(!empty($matches[0])){
    
// Controllo se il valore è numerico
    if (is_numeric($matches[0][0])) {
        // Se è numerico addiziono il valore con il conteggio dei caratteri
        echo $matches[0][0] + (strlen($str) - strlen($matches[0][0]));
    }
} else {
    // Se non è numerico conto solo i caratteri della stringa
    echo strlen($str);
}

Saluti.

risposto 10 mesi fa
fobos
fobos
45
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda