2012-04-13 4 views
2

Ok klar sein krank ein beispielgibt es eine PHP-Funktion, um eine mittlere Zeichenfolge zu finden?

$email = '[email protected]'; 
$domain = strstr($email, '@'); 
echo $domain; // prints @example.com 

$user = strstr($email, '@', true); // As of PHP 5.3.0 
echo $user; // prints name 

geben, wie sie sagt, gibt es das, was vor ‚@‘ true verwenden und leer zu drucken, was @

folgt im suchen eine Funktion zum Drucken @ selbst durch zwei Saiten und greifen, was zwischen ihnen

wie diese

$string= 'someXthing'; 
    $tograb = phpfunction("some","thing"); 
    echo $tograb; // should be printing X 

^dies nicht funktioniert, im gerade schreibe ich geben t erklären

+0

ich würde wirklich einen Fall gerne sehen, wo Sie diese nutzen können. Verwenden Sie auch nur regex für das – Ibu

+0

, was Sie brauchen eine regex –

+0

Prüfung dieses Themas ist http://stackoverflow.com/questions/1445506/get-content-between-two-strings-php –

Antwort

1

Ich weiß nicht, von einer nativen Funktion, die das tut, aber Sie können regelmäßig verwenden Ausdruck

$string= 'someXthing'; 
preg_match("/some(.*)thing/",$string,$matches); 
var_dump($matches[1]); 

Lesen Sie mehr über preg_match

+0

, das irgendwie funktioniert, aber wie man es machen –

+0

@LiliAbedinpour die Variable $ treffer ein Array ist, so können Sie 'echo $ treffer [1]' die gefundenen String zu sehen. – Ibu

+0

ohhh leider ja hätte es jetzt, dank im fine mit diesem, aber ich denke, es gibt eine Funktion für das sein sollte, ich denke, es wird meist in Zukunft benötigt werden! Danke trotzdem –

1

Von Internet

function GetBetween($content,$start,$end){ 
    $r = explode($start, $content); 
    if (isset($r[1])){ 
     $r = explode($end, $r[1]); 
     return $r[0]; 
    } 
    return ''; 
} 

Original code

0

Für das Beispiel gesagt haben, können Sie uns

$string = 'someXthing'; 

$start = strpos($string, "some") + strlen("some"); 
$end = strpos($string, "thing", $start); 
$tograb = substr($string, $start, $end - $start); 

echo $tograb; 

und X wird gedruckt: e strpos X wie folgt zu drucken.

Verwandte Themen