个人认为难度比较大。
先说说你使用substr()的地方
substr($adb[neirong],"0","200")
最好写成
substr($adb[neirong],0,200)
虽然PHP对变量类型并不敏感,但是对于养成良好的习惯而言,写成下面的方式比较好。因为substr后面的两个参数是两个数字,表示开始也结束位置,用"0"就成了一个字符串。可能PHP并不在乎这个,但是从编程的角度来讲,这样是不对的。
至于如何只显示新闻内容而不是单纯取前多少个字符,感觉还是比较难。
如果新闻内容比较有规律,比如,每篇正文新闻前面都有<tabel那一段,那就好办了,直接算一下<tabel那一段的长度,比如是200个字符,然后不从0开始取,从201开始取,这样取的就是正文。。
如果新闻中前面的部分没有规律,那要麻烦的多。要判断哪个地方是正文的开始,是比较困难的事情。因为有时候正文不一定用中文字符开始,可能用数字,比如“2005年6月1日,我市...”这样,或者以一个符号开头,比如“[本报讯]。。。”所以要判断哪个地方是正文的开始,是有难度的。而且比较复杂。
我觉得,如果是后者,也就是说出现正文的位置不固定,正文前面的信息无规律,这样的话,你可以在新闻添加的时候,比如用户在文本框中输入的正文内容是“1885年(国务院批准,撤销县...”,在做其他处理之前,先在1885前面插入一个标记,比如“<start>”,这样,就成了“<start>1885年(国务院批准,撤销县...”,然后加上其他格式,写入数据库。在读取显示的时候,找到start的位置,把start去掉,然后从<start>的后面开始显示正文。这样可以通过比较简单的方法实现。
如果用户输入的信息直接就是以一段代码<table .....>开头,那么处理难度就增加不少,可以说非常复杂。个人认为,就没有必要为了一个搜索功能而费劲心思写这么一个程序实现取出正文的前多少个字符。 |
|