PHPで任意の文字列を抽出する方法はいくつかありますが、
一般的には preg_match() 関数を使用して正規表現を用いる方法が便利です。
基本的な文字列抽出
php<?php
$text = "ユーザーのIDは12345です。";
preg_match('/IDは(\d+)/', $text, $matches);
if (!empty($matches)) {
echo "抽出したID: " . $matches[1]; // 12345
} else {
echo "IDが見つかりませんでした。";
}
?>
このコードでは、IDは の後に続く数字((\d+))を抽出しています。
特定のパターンに一致する部分を取得
例えば、メールアドレスを抽出したい場合:
php<?php
$text = "連絡先: example@example.com にメールしてください。";
preg_match('/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/', $text, $matches);
if (!empty($matches)) {
echo "抽出したメールアドレス: " . $matches[0];
} else {
echo "メールアドレスが見つかりませんでした。";
}
?>
複数のマッチを取得
preg_match_all() を使うと、すべての一致する文字列を取得できます。
php<?php
$text = "タグ: #PHP #JavaScript #Python";
preg_match_all('/#(\w+)/', $text, $matches);
if (!empty($matches[1])) {
print_r($matches[1]); // ['PHP', 'JavaScript', 'Python']
} else {
echo "タグが見つかりませんでした。";
}
?>
このコードでは、ハッシュタグ(例: #PHP)を抽出しています。
まとめ
preg_match()→ 最初の一致のみ取得preg_match_all()→ すべての一致を取得

