/[LeafOK_CVS]/fenglin/lib/str_process.inc.php
ViewVC logotype

Annotation of /fenglin/lib/str_process.inc.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations)
Fri Jun 25 08:58:04 2004 UTC (21 years, 8 months ago) by sysadm
Branch: MAIN
Changes since 1.2: +20 -6 lines
Fix bug: auto new line for english contents.

1 sysadm 1.1 <?
2    
3 sysadm 1.2 function split_line($str,$pre="",$width=75)
4 sysadm 1.1 {
5     $lines = array();
6     $lines_count = 0;
7     $len = strlen($str);
8    
9     $hz_ok = true;
10 sysadm 1.3 $en_ok = true;
11 sysadm 1.1
12     if ($width<=0)
13     return $str;
14    
15     $line = $pre;
16     $line_count = strlen($line);
17     for($i=0;$i<$len;$i++)
18     {
19     $line.=$str[$i];
20     $line_count++;
21     if (ord($str[$i])>127)
22 sysadm 1.3 {
23 sysadm 1.1 $hz_ok = (!$hz_ok);
24 sysadm 1.3 $en_ok = true;
25     }
26 sysadm 1.1 if (ord($str[$i])<=127)
27 sysadm 1.3 {
28 sysadm 1.1 $hz_ok = true;
29 sysadm 1.3 if ($str[$i] == " ")
30     {
31     $en_ok = true;
32     }
33     else
34     {
35     $en_ok = false;
36     }
37     }
38     if ($line_count >= $width && $hz_ok && $en_ok)
39     {
40     $lines[$lines_count++] = $line;
41     $line = $pre;
42     $line_count = strlen($line);
43     }
44 sysadm 1.1 }
45     $lines[$lines_count++] = $line;
46    
47     $result = "";
48     for($i=0;$i<$lines_count;$i++)
49     {
50     $result.=($lines[$i]."\r\n");
51     }
52     return $result;
53     }
54    
55 sysadm 1.2 function str_process($str,$pre="",$width=75)
56 sysadm 1.1 {
57     $result = "";
58    
59     $lines = explode("\n",str_replace("\r\n","\n",$str));
60    
61     foreach($lines as $line)
62     {
63 sysadm 1.2 $result .= split_line($line,$pre,$width);
64 sysadm 1.1 }
65    
66     return $result;
67     }
68    
69     ?>

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1