Sınırlayıcı PHP After All Kaldır

7 Cevap php

Ben sadece PHP belirli bir alt dize sonra her şeyi kaldırmak nasıl merak ediyorum

ex:

Posted On April 6th By Some Dude

Ben dahil olmak üzere tüm metni kaldırır, böylece ona sahip olmak ister ve alt dize, sonra "ile" istiyorum

Teşekkürler

7 Cevap

$variable = substr($variable, 0, strpos($variable, "By"));

Düz ingilizce olarak: bana dize başında başlayan ve ilk deliminator karşılaşma pozisyonunda biten rol verin.

Sen yapabilirsin:

$posted = preg_replace('/ By.*/', '', $posted);
echo $posted;

Austin'in cevabı örnek durumunda çalışır.

Daha genel olarak, Eğer üzerinde bölme konum alt dize dizeleri arasında farklılık gösterebilir zaman regular expression functions içine bakmak iyi yapardı:

$variable = preg_replace('/By.*/', '', $variable);

If Eğer 5.3 + strstr() in $ before_needle bayrağı bakmak PHP kullanarak konum

$s = 'Posted On April 6th By Some Dude';
echo strstr($s, 'By', true);

nasıl:

$input = 'Posted On April 6th By Some Dude';
$result = explode(' By',$input);
return $result[0];

Düzenli ifade kullanarak: $string = preg_replace('/\s+By.*$/', '', $string)