/[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.4 - (hide annotations)
Mon Jun 28 22:55:35 2004 UTC (21 years, 8 months ago) by sysadm
Branch: MAIN
Changes since 1.3: +6 -16 lines
Fix bug: string auto new line

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

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