2 Stimmen

Gibt es eine PHP-Funktion, um einen mittleren String zu finden?

Ok, um es klar zu machen, gebe ich ein Beispiel

$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // druckt @example.com

$user = strstr($email, '@', true); // Ab PHP 5.3.0
echo $user; // druckt name

wie es sagt, druckt es, was vor '@' steht, wenn true verwendet wird, und lässt es leer, um das zu drucken, was folgt

Ich suche nach einer Funktion, die '@' selbst druckt, indem ich ihr 2 Zeichenketten gebe und das dazwischen Greifbare erhält

wie das hier

  $string= 'someXthing';
  $tograb = phpfunction("some","thing");
  echo $tograb; // sollte X drucken

^ Das funktioniert nicht, ich schreibe es nur zur Erklärung

1voto

Ibu Punkte 41144

Ich kenne keine integrierte Funktion, die das tut, aber du kannst reguläre Ausdrücke verwenden

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

Erfahren Sie mehr über preg_match

1voto

magallanes Punkte 6033

Vom Internet

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

Ursprünglicher Code

0voto

Maryam Homayouni Punkte 833

Für das von dir genannte Beispiel kannst du strpos verwenden, um X wie folgt auszudrucken:

$string = 'etwasXirgendwo';

$start = strpos($string, "etwas") + strlen("etwas");
$end = strpos($string, "irgendwo", $start);
$ergreifen = substr($string, $start, $end - $start);

echo $ergreifen;

und X wird ausgedruckt werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X