Iki karakter arasındaki dize kapmak bir PHP fonksiyonu var. Örneğin, ben ve yüzde dolar sembolü arasında ne olduğunu bilmek istiyorum:
% BURAYA $
Bunun için fonksiyonu nedir?
Sen bir regex ile bunu yapabilir:
$string = 'test%HERE$glop';
$m = array();
if (preg_match('/%(.*?)\$/', $string, $m)) {
var_dump($m[1]);
}
Alacak:
string 'HERE' (length=4)
Couple of notes :
$ desen, kaçan edildiğini (end of string).*
% ve $ aramda.*?() bunu Civarı - Ve sen yakalanan istiyorum.
Bunu almak için normal bir ifade kullanabilirsiniz:
preg_match('/%([^$]*)\\$/', $str, $match)
Bir maç bulundu ise, $match[0] tüm maç içerecektir ve % ve $ arasındaki $match[1] metin.
Ama aynı zamanda strpos and search for the % ve ilk $ bundan sonra gibi temel dize işlevlerini kullanabilirsiniz:
if (($start = strpos($str, '%')) !== false && ($end = strpos($str, '$', $start)) !== false) {
$match = substr($str, $start, $end-$start);
}