一尘不染

preg_match(); -未知修饰符“ +”

php

好吧,所以我目前正在解析RSS feed。我已经获得了我没有问题的数据,剩下的只是解析游戏名称。

这是我当前拥有的代码(忽略草率,这只是概念的证明):

<?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

我剩下的唯一一件事就是剔除结束锚标签和句点,但是我似乎无法弄清楚为什么它不喜欢’+’。有任何想法吗?

编辑:这不应被标记为重复,因为在另一个问题问了两年之前就被问到了。


阅读 286

收藏
2020-05-29

共1个答案

一尘不染

您需要在PHP中对正则表达式使用定界符。您可以使用经常使用/,但PHP让你使用任何匹配的字符,所以@#很受欢迎。

如果您要在正则表达式中插入变量,请确保将您选择作为第二个参数的定界符传递给preg_quote()

2020-05-29