好吧,所以我目前正在解析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
我剩下的唯一一件事就是剔除结束锚标签和句点,但是我似乎无法弄清楚为什么它不喜欢’+’。有任何想法吗?
编辑:这不应被标记为重复,因为在另一个问题问了两年之前就被问到了。
您需要在PHP中对正则表达式使用定界符。您可以使用经常使用/
,但PHP让你使用任何匹配的字符,所以@
并#
很受欢迎。
如果您要在正则表达式中插入变量,请确保将您选择作为第二个参数的定界符传递给preg_quote()
问题内容: 我正在尝试使用preg_match返回页面源代码中所有包含在“”中的URL。 我正在使用的代码是 我收到以下错误: 问题答案: preg_match(‘~”http://(.*)”~iU’, $code, $matches); 您的问题是您需要使用定界符(我选择〜)来与模式一起使用。有关更多信息,请参见preg_match()手册页。
这是我尝试使用的正则表达式: 我在这个网站上找到了它,当我在那里试用它时,它的效果很好。但当我将其放入代码中时,我会得到这样的消息: 有谁能解释一下哪里出了问题,为什么它是在那个网站上工作的,而不是在我的代码中?
问题内容: 我有以下错误: 警告:preg_replace():第38行上xxx.php中的未知修饰符’]’ 这是第38行的代码: 我该如何解决这个问题? 问题答案: 为什么会发生错误 在PHP中,正则表达式需要包含在一对定界符内。分隔符可以是任何非字母数字,非反斜杠,非空格字符;,,是最常用的。需要注意的是,还可以使用支架风格分隔符在打开和关闭括号开始和结束的分隔符,即,等等都是有效的。 在以下
问题内容: preg_replace(‘/http:///ftp:///', ‘https://’, $value); 和内应改为 此代码给出错误: 什么是此任务的真正正则表达式? 问题答案: 尝试使用其他定界符,例如: 或(不建议使用)对正则表达式中每次出现的定界符进行转义: 另外,您正在搜索的确没有太大意义的模式,可能就是您的意思。 您可以将正则表达式缩短为: 了解错误: 在您的regex中,
问题内容: 这个问题已经在这里有了答案 : [警告:preg_replace():未知修饰符“]” ](file:///C:/questions/20705399/warning-preg- replace-unknown-modifier) (3个答案) 11个月前关闭。 当我写以下内容时,我得到这样的警告,它与任何内容都不匹配,但是我敢肯定,其中包含… 为什么我会收到这样的警告消息? 谢谢 问
本文向大家介绍写出你知道的表单修饰符和事件修饰符相关面试题,主要包含被问及写出你知道的表单修饰符和事件修饰符时的应答技巧和注意事项,需要的朋友参考一下 事件修饰符.stop .prevent .capture .self .once .passive 表单修饰符.number .lazy .trim