Kjapp og trygg hosting for Wordpress

Hjelp med substr() og strpos()

spikre

peterhamre.no
Har en tabell (.csv) med 1 kolonne. Hvert felt inneholde type "Hans Sirug 4 kuer" eller "Johannes 18 høns" osv. Jeg ønsker å dele dette opp i 2 kolonner, hvorav navnet (altså alt før tallet) står i kolonne A og resten, inkludert tallet, står i kolonne B.

Jeg ser for meg at det letteste må være å kjøre dette inn i en mysql-database, og kjøre et php-script for å skille dette. Jeg har brukt explode, substr og strpos tidligere, men da med et fast skilletegn (f.eks. | eller /). her er det snakk om tall - faktisk siffer. Sifferet varierer fra 1 til 9, og hvert string har inntil 2 siffer. Dessuten er det også tilfeller hvor det bare står "Ole Hansen" uten noe tall osv etter.

Noen som kan vinke meg i riktig retning?

For enkelhetsskyld legger jeg med utsnitt av en "standard" kode jeg brukte sist.

PHP:
$kolonneA = substr($str, 0, strpos($str, '/'));
 

tyr897

Medlem
Istedenfor explode kan du benytte preg_split for å dele opp basert på regulære uttrykk.

PHP:
// $line er den aktuelle raden
$match = preg_split("/ (\d+) /", $line, 0, PREG_SPLIT_DELIM_CAPTURE);
$kolonneA = $match[0];
$kolonneB = isset($match[1]) ? "$match[1] $match[2]" : null;
 
Topp