私はデータベースからこの文字列を持っています:
<href="/supplier/plant-whole-payment-details/80912">22441769</a>
80912だけが必要です。どうすればPHPで取得できますか?
$str = '<href="/supplier/plant-whole-payment-details/80912">22441769</a>';
preg_match('/href=".*\/(?P<digit>\d+)"/', $str, $matches);
echo $matches['digit'];
文字列を分割するのではなく、その一部を抽出します。そんなときに便利なのが正規表現です。文字列が常に例の文字列に似ている場合は、これを使用して と の間の数字の最初の一致を取得し/
ます"
。
$string = '<href="/supplier/plant-whole-payment-details/80912">22441769</a>';
preg_match('#/(\d+)"#', $string, $matches);
$value = $matches[1];
さらなる説明:
\d
「数字」の略+
「1つ以上」の略#
パターンの開始と終了を示す区切り文字です$matches
括弧は、配列に追加されるサブパターンを示しますでこれを行うことができますsubstr
。このコードを確認してください。
<?php
// your text which needs to be splited .
$text = "/supplier/plant-whole-payment-details/80912" ;
$reqText = substr($text , -5);
?>
これにより、文字列の末尾に数値が出力されます。
これを使って...
この例では、文字列を配列に分割します。
<?php
$str = "Hello world. It's a beautiful day.";
print_r (explode(" ",$str));
?>