Показать сообщение отдельно
Старый 06.10.2006, 18:51   #4
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

Цитата:
Сообщение от Tod
А с помощью там какого-то HTMLparser ничего сделать нельзя? может как-то тэги поубирать из текста просто... ? или точно нет?))
Если свою функцию, то может пример наведете как что куда подцепить? (если не слочно)
PHP код:
// Correction to long lines of HTML code
page.includeLibs.user_textWrap fileadmin/templates/design/user_textWrap.php
page
.stdWrap.preUserFunc user_textWrap 
PHP код:
<?
//
// see  http://ru.php.net/manual/en/function.wordwrap.php
//

function user_textWrap($tstr,$conf ) {

$len 75;
$br "\r\n";
$strs explode($br,$tstr);
$retstr "";
foreach (
$strs as $str) {
$str=trim($str);
if (
strlen($str)>75)      
$retstr .= better_wordwrap($str,75,"\r\n") . $br;
else 
$retstr .=$str $br;
     }

/*
$strs = explode($br,$retstr);
$retstr = "";
$j=0;
foreach ($strs as $str) {
if (strlen($str)>75)      
$retstr .= wrap_tags($str) . $br;
//$retstr .=$str . $br;
//$retstr .=$str . $br;
else 
$retstr .=$str . $br;
$j++;
     }
//echo $j;
*/

return $retstr;
}


function 
wrap_tags($str) {
$i=0;
$tag_close '>';

$str_new='';
$str_remains=$str;

while (
strlen($str_remains) > 90) {
//echo $i."<br>". htmlspecialchars($str_remains)."<br><br>";
    
$pos strpos($str_remains$tag_close75); //
    
$str_new .= substr($str_remains,0,$pos+1)."\r\n";
//echo "<br>". htmlspecialchars($str_new)."<br><br><br>";
$str_remains substr($str_remains,$pos+1,strlen($str_remains));
$i++;
}
$str_new .=$str_remains;
   return 
$str_new;
}


function 
better_wordwrap($str,$cols,$cut){
   
$tag_open '<';
   
$tag_close '>';
   
$count 0;
   
$in_tag 0;
   
$str_len strlen($str);
   
$segment_width 0;
 
   for (
$i=$i<=$str_len $i++){
       if (
$str[$i] == $tag_open) {
           
$in_tag++;
       } elseif (
$str[$i] == $tag_close) {
           if (
$in_tag 0) {
               
$in_tag--;
           }
       } else {
           if (
$in_tag == 0) {               
               
$segment_width++;
               if ((
$segment_width $cols) && ($str[$i] == " ")) {
                 
$str substr($str,0,$i).$cut.substr($str,$i+1,$str_len-1);
                 
$i += strlen($cut);
                 
$str_len strlen($str);
                 
$segment_width 0;
               }
           }
       }
   }
   return 
$str;
}


?>
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием