我有模型维基页面。WikiPage->我从数据库中获取的文本。我创建了方法“wikify”并按类::wikify($Page->getText()) 在页面上生成文本。在文本中我有构造 [链接名称],我用这个生成链接:
$text = preg_replace('@\[(.*) (.*)\]@', '<a href="\\1" class="<?php Wiki::httpresponse($\\1) ?>">\\2</a>', $text);
这个想法是使用函数 httpresponse 检查 url,如果没有页面则更改类。
http响应:
static public function httpresponse($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_exec ($ch);
$intReturnCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close ($ch);
if ($intReturnCode != 200 && $intReturnCode != 302 && $intReturnCode != 304) { return "red"; } else return "blue";
}
2个问题:
当我在我的本地主机页面上测试 httpresponce 时,它没有找到它们,当我在网页上测试它时,一切正常。
(检查链接如
http://localhost:8080/category/page
,类别是第一个模块,页面是第二个,主页是模块:类别,操作:索引,类别/页面是模块的路由:页面,操作:显示)生成的链接类仍然
<?php Wiki::httpresponse($\\1) ?>
没有执行 httpresponce 方法。
可以做什么?也许有更好的方法来完成这项任务?