也许它是一个讽刺但每个情况都不同:)
我从Ajax请求中获取一个String并将其处理为此函数
function convertHashtags($str){
$text = $str;
$regex = '/#(\w+)/';
preg_match_all($regex, $text, $allMatches, PREG_SET_ORDER);
foreach ($allMatches as $matches) {
$engine->checkHashtag($matches[0]);
}
$regex2 = "/#+([a-zA-Z0-9_]+)/";
$str = preg_replace($regex2, '<a href="hashtag.php?tag=$1">$0</a>', $str);
return($str);
}
然后我想在每个结果中为每个结果引擎将其插入数据库。 当我注释掉引擎线然后它的工作。 return $ matches [0];也在努力!
这是我的引擎功能代码
function checkHashtag($tag) {
return true;
}
至少这是我的错误信息......
500(内部服务器错误)发送
@ jquery-1.10.2.js:8706jQuery.extend.ajax
@ jquery-1.10.2.js:8136(匿名函数)
@(index):797jQuery.event.dispatch
@ jquery-1.10.2.js:5095jQuery.event.add.elemData.handle
@ jquery-1.10.2.js:4766
为什么不起作用?
*什么是$ Engine? *
包含的课程
require_once('../PATH/engine_class.php');
$engine = NEW engine_class();
答案 0 :(得分:0)
preg_match_all返回一个int,保存匹配数。我注意到你没有检查是否有0场比赛。您的代码假定至少有一个有效匹配。例程返回什么值?