如何在codeigniter中传递一个大字符串作为变量?我正在尝试向用户显示一篇文章,如果文章有超过800个字符且少于3044个字符我在jquery弹出窗口中显示它,如果文章超过3044个字符我想传递文章正文和标题通过url到控制器功能。 这是我尝试过的:
<?php
if(strlen($home_content[1]['content'])>800 && strlen($home_content[1]['content'])<3044)
{
$substr=substr($home_content[1]['content'],0,786);
echo $substr.'<p id="button"><a href="#"><i>read more...</i></a></p>';
}
else if(strlen($home_content[1]['content'])<800)
{
echo $home_content[1]['content'];
}
else
{
$substr=substr($home_content[1]['content'],0,786);
echo $substr.'<br/>';
echo anchor('site/read_article/'.$home_content[1]['title'].$home_content[1]['content'],'<i>read more...</i>');
}
?>
我收到此错误消息:
An Error Was Encountered
The URI you submitted has disallowed characters.
我该怎么做?网址看起来很乱,怎么传递字符串仍然有一个干净的网址?请帮帮我。
答案 0 :(得分:2)
为什么不传递文章ID呢?然后,您可以通过控制器功能访问该文章,计算字符数并确定显示方法。
或者,您可以使用CI的Session Flashdata将文章标题/正文传递给下一个控制器并以此方式访问它。
由于安全性设置为拒绝在URL中传递的特定字符,因此URI失败。这是为了保护您的安全,但是,尽管不推荐,但如果需要,可以在配置文件中禁用它。