1. ホーム
  2. php

[解決済み] preg_match(); - 未知の修飾子 '+' [重複].

2022-02-10 08:08:43

質問

さて、現在RSSフィードのパースに取り組んでいます。必要なデータは問題なく取得できたので、あとはゲームのタイトルをパースするだけです。

以下は、私が現在持っているコードです(ずさんさは無視してください、これは単なる概念実証です)。

<?php
$url = 'http://raptr.com/conexion/rss';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch); 
curl_close($ch);

$xml = new SimpleXMLElement($result);

$lastgame = $xml->channel->item[0]->description;
preg_match('[a-zA-Z]+</a>.$', $lastgame, $match);

echo $match;
?>

すべてがうまくいっていたのですが、このエラーが出るようになりました。

Warning: preg_match() [function.preg-match]: 
Unknown modifier '+' in raptr.php on line 14

あとは閉じるアンカータグとピリオドを取り除くだけなのですが、なぜ「+」を好まないのかがわからないようです。何かアイデアはありますか?

編集:これは他の質問より2年前に質問されているので、重複としてマークされるべきではないでしょう。

解決方法を教えてください。

PHPでは、正規表現で区切り文字を使用する必要があります。よく使われる / しかし、PHPではマッチする任意の文字を使用することができます。 @# が人気です。

参考文献 .

正規表現内で変数を補間する場合は、第2引数に選んだデリミタを必ず preg_quote() .