2017-06-13 2 views
2

Ich habe ein Array, das mir Pfade wie diese gibt:Php get Zeichenfolge nach x Zeichen

C:\xampp\htdocs\app\storage\app/img/img24.png" 


C:\xampp\htdocs\app\storage\app/img/img3.png" 

Ich brauche die Nummer von den Teilen zu extrahieren, in diesem Fall 24 und 3 und in ein anderes Array speichern. Bisher extrahiert ich die Länge wie folgt aus:

$pathLen = strlen(storage_path('app/img/')); 

Das bin ich 45 zurückgekehrt, aber ich weiß nicht, wie

+1

Warum haben Laravel, MySQL in einer Frage PHP verwandten markiert? –

+0

Sie können substr verwenden –

+0

Es wurde zwischengespeichert von einer anderen Frage, die ich posten wollte ich änderte es sry – Olipol

Antwort

2

fortsetzen Sie können substr vom letzten / bekommen, dann verwenden intval(), um den int zu erhalten . Live demo.

<?php 
$string = "C:\xampp\htdocs\app\storage\app/img/img24.png"; 
echo intval(substr($string, strrpos($string, '/') +4)); 
+1

Diese Antwort ist gut, da es nicht auf den Pfad abhängig ist (was sich ändern könnte). –

+0

Wie würden Sie eine Bedingung erstellen, die überprüft, ob die Zahl 0 ist, wenn es 0 ist Ändern Sie sie in eine leere Zeichenfolge – Olipol

+0

'$ value = intval (substr ($ string, strrpos ($ string, '/') +4)); $ Wert = $ Wert == 0? '': $ Wert; ' –

3
preg_match('~img/img(.*?).png~', $arrayinput, $output); 

print_r($output[1]); 
Verwandte Themen