EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Помогите обрезать строчку
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Помогите обрезать строчку
Автор Сообщение
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Сб, 27 Июн, 2009 21:03    Заголовок сообщения: Помогите обрезать строчку Ответить с цитатой

Уважаемые - смотрю у вас тут реально помогают - и не нубы за компами а знающие люди
помагите пожалуйста - вообщем нада обрезать пару строчек по количеству символов

(это скрипт - на главную страницу выводящий последние изменения на форуме - но постоянно таблицы рушит - мне обязательно нада обрезать а не сносить на некст строчку)


вот скрипт примерно так написан

<?php
$ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_topics WHERE intern<='".isinternboarduser($userID)."' ORDER BY lastdate DESC LIMIT 0,$maxlatesttopics");
$anz=mysql_num_rows($ergebnis);
if($anz) {
eval ("\$latesttopics_head = \"".gettemplate("testeggg")."\";");
echo $latesttopics_head;
$n=1;
while($ds=mysql_fetch_array($ergebnis)) {
if($n%2) {
$bg1=BG_1;
$bg2=BG_2;
}
else {
$bg1=BG_3;
$bg2=BG_4;
}
$latesticon='<img src="images/icons/'.$ds[icon].'" width="15" height="15">';
$boardlink='• <a href="index.php?site=forum&board='.$ds[boardID].'"><b>'.getboardname($ds[boardID]).'</b></a>';
$topiclink='&nbsp;&nbsp;&nbsp;<a href="index.php?site=forum_topic&topic='.$ds[topicID].'&type=ASC&page='.ceil(($ds['replys']+1)/$maxposts).'">'.clearfromtags($ds[topic]).'</a>';
$replys=$ds[replys];

eval ("\$latesttopics_content = \"".gettemplate("test1")."\";");
echo $latesttopics_content;
$n++;
}
eval ("\$latesttopics_foot = \"".gettemplate("test2")."\";");
echo $latesttopics_foot;
}
?>



я пробовал делать так -


<?php

$ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_topics WHERE intern<='".isinternboarduser($userID)."' ORDER BY lastdate DESC LIMIT 0,$maxlatesttopics");
$anz=mysql_num_rows($ergebnis);
if($anz) {
eval ("\$latesttopics_head = \"".gettemplate("testeggg")."\";");
echo $latesttopics_head;
$n=1;
$maxasdasd = 22;
$maxzsdzsd = 45;

while($ds=mysql_fetch_array($ergebnis)) {
if($n%2) {
$bg1=BG_1;
$bg2=BG_2;
}
else {
$bg1=BG_3;
$bg2=BG_4;
}
$dstopikk=clearfromtags($ds[topic]);
$dsboardik=getboardname($ds[boardID]);

if(strlen($dstopikk)>$maxasdasd) {
$dstopikk=substr($dstopikk, 0, $maxasdasd);
$dstopikk.='..';
}
if(strlen($dsboardik)>$maxzsdzsd) {
$dsboardik=substr($dsboardik, 0, $maxzsdzsd);
$dsboardik.='..';
}
$latesticon='<img src="images/icons/'.$ds[icon].'" width="15" height="15">';
$boardlink='<a href="board/'.$ds[boardID].'"><b>'.$dsboardik.'</b></a>';
$topiclink='&nbsp;&nbsp;&nbsp;<a href="topic/'.$ds[topicID].'">'.$dstopikk.'</a>';
$replys=$ds[replys];


eval ("\$latesttopics_content = \"".gettemplate("test1")."\";");
echo $latesttopics_content;
$n++;
}
eval ("\$latesttopics_foot = \"".gettemplate("test2")."\";");
echo $latesttopics_foot;
}
?>

но так слишком запарно - нада около 100 страниц переписывать


$latesticon='<img src="images/icons/'.$ds[icon].'" width="15" height="15">';
$boardlink='• <a href="index.php?site=forum&board='.$ds[boardID].'"><b>'.getboardname($ds[boardID]).'</b></a>';
$topiclink='&nbsp;&nbsp;&nbsp;<a href="index.php?site=forum_topic&topic='.$ds[topicID].'&type=ASC&page='.ceil(($ds['replys']+1)/$maxposts).'">'.clearfromtags($ds[topic]).'</a>';

и эти 3 строчки везде разные total kamanderom не вариант
нет ли более простого способа ???
заранее спасибо
_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dis
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 23.07.2007
Сообщения: 224
Откуда: Российская Федерация, Белгород
13935 Монеты

СообщениеДобавлено: Вс, 28 Июн, 2009 01:34    Заголовок сообщения: Ответить с цитатой

CTPATOTAHKEP
Массивный кусок кода может быть удобнее читать в отдельном файле, не считаете?

По поводу проблемы - попробуйте обработать через substr. Но, на мой взгляд, проще найти готовое решение для форума (если оный не является самописным), нежели изобретать что-то своё, а потом исправлять ошибки.
_________________
"Псих!", - подумал Ёжик

"Если абсурд и существует, то лишь во вселенной человека"
- Альбер Камю
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Вс, 28 Июн, 2009 09:58    Заголовок сообщения: Ответить с цитатой

Dis писал(а):
CTPATOTAHKEP
Массивный кусок кода может быть удобнее читать в отдельном файле, не считаете?

По поводу проблемы - попробуйте обработать через substr. Но, на мой взгляд, проще найти готовое решение для форума (если оный не является самописным), нежели изобретать что-то своё, а потом исправлять ошибки.

Ну как бы это и есть отдельный файл - инклудовский с индекса
пришлось нтмл внедрять т.к уникальный кусок скрипта и нет смысла его на шабик ссылать
готового решения не смог найти хоть форум и не самописный (php bb)
но он уже настолько с сайтом связан и переделан что форумом трудно назвать
и чёто не очень понял намёка substr.
_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Вс, 28 Июн, 2009 10:11    Заголовок сообщения: Ответить с цитатой


вот наглядно что надо убить
скрипт данной на рисунке таблички такой
почемуто не всё режеться не понимаю почему





<?php


if($rubricID) $only = "AND rubricID='".$rubricID."'";
else $only='';

$ergebnis=safe_query("SELECT * FROM ".PREFIX."news WHERE published='1' ".$only." AND intern<=".isclanmember($userID)." ORDER BY date DESC LIMIT 0,".$maxheadlines);
echo'
<table width="179" rollspan="0" collspan="0" cellpadding="0" cellspacing="0">
<tr>
<td background="images/table/TOP_levo.gif" width="2" height="21"></td>
<td background="images/table/TOP_title.gif" width="160" height="21">&nbsp;•&nbsp;Последние новости</td>
<td background="images/table/TOP_right.gif" width="17" height="21"></td>
</tr>
</table>

<table width="179" rollspan="0" collspan="0"cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#bfbfbf" width="1"></TD>
<td>

<table width="174" rollspan="0" collspan="0" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#ffffff" width="174" height="21" valign="center">

<table width="174" rollspan="0" collspan="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
';
while($ds=mysql_fetch_array($ergebnis)) {
$date=date("d.m", $ds[date]);
$time=date("H:i", $ds[date]);
if(!isset($lang)) $lang=$ds[lang1];
if($lang==$ds[lang1]) {
if($ds[headline1]) $headlines = $ds[headline1];
else $headlines = $ds[headline2];
}
else {
if($ds[headline2]) $headlines = $ds[headline2];
else $headlines = $ds[headline1];
}
$news_id=$ds[newsID];

if(strlen($headlines)>$maxheadlinechars) {
$headlines=substr($headlines, 0, $maxheadlinechars);
$headlines.='..';
}

$headlines=clearfromtags($headlines);

$languages=cleartext('[flag]'.$ds[lang1].'[/flag]');
if($ds[headline2]) $language.=cleartext('[flag]'.$ds[lang2].'[/flag]');

eval ("\$headlines = \"".gettemplate("headlines")."\";");
echo $headlines;
}
echo'
</td>
</tr>
</table>

</td>
</tr>
</table>
<td background="images/table/Midle_right.gif" width="4"></td>
</tr>
</table>

<table width="179" rollspan="0" collspan="0" cellpadding="0" cellspacing="0">
<tr>
<td background="images/table/finishline_left.gif" width="4" height="4"></td>
<td background="images/table/finishline_midle.gif" width="171" height="4"></td>
<td background="images/table/finishline_right.gif" width="4" height="4"></td>
</tr>
</table>
';
unset($rubricID);
?>


_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Вс, 28 Июн, 2009 10:17    Заголовок сообщения: Ответить с цитатой

ох люди =0
нашёл решение - как всегда всё было елементарно 8(
офф топ


вот решение


if (strlen($headlines) > 10) $headlines = substr($headlines, 0, 10)."...";
_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DEXIF
#!/bin/bash
Согнул ложку


Зарегистрирован: 27.09.2006
Сообщения: 919
Откуда: Минск
49930 Монеты

СообщениеДобавлено: Вс, 28 Июн, 2009 12:37    Заголовок сообщения: Ответить с цитатой

особенно "хорошо" данный метод отлавливает строки с 11 символами... и добавляет ещё 3 символаSmile
_________________


S
|D|EG| Let's Rock! | XAP в ЛИЧКУ, SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Вс, 28 Июн, 2009 12:41    Заголовок сообщения: Ответить с цитатой

DEXIF
если только он не использует моноширный шрифт - точки уже букв..)
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DEXIF
#!/bin/bash
Согнул ложку


Зарегистрирован: 27.09.2006
Сообщения: 919
Откуда: Минск
49930 Монеты

СообщениеДобавлено: Вс, 28 Июн, 2009 13:08    Заголовок сообщения: Ответить с цитатой

ну я вообщет говорил о том что нет смысла обрезать одну букву а зачастую и две... даже если точки уже букв... они(три точки) не будут уже 1 буквы...
_________________


S
|D|EG| Let's Rock! | XAP в ЛИЧКУ, SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Вс, 28 Июн, 2009 13:42    Заголовок сообщения: Ответить с цитатой

DEXIF
добавление +1 символа вместо этих точек не сделает результат сколь-либо более удобным.. а вообще - ему бы title покурить..
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Пн, 29 Июн, 2009 07:17    Заголовок сообщения: Ответить с цитатой

Да просто с некоторыми файлами была проблемма- почему тут и писал
хател решение для всех файлов одинаковое иметь
проблемма в том что переменная не была задана


было


$headline='<a href="index.php?site=news_comments&newsID='.$ds[newsID].'&lang='.$ds[lang1].'">'.clearfromtags($ds[headline1]).'</a>';


стало


$nazvtitla = clearfromtags($ds[headline1]);

if(strlen($nazvtitla)>50) {
$nazvtitla=substr($nazvtitla, 0, 50);
$nazvtitla.='..';
}

$headline='<a href="index.php?site=news_comments&newsID='.$ds[newsID].'&lang='.$ds[lang1].'">'.$nazvtitla.'</a>';


проблемма в том что портал собираеться из кучи всяких скриптов - и везде свой стиль написание - вчера весь день убил только на обрезание заголовков и прочей хрени
пришлось всёже всё вручную делать
_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Пн, 29 Июн, 2009 07:35    Заголовок сообщения: Ответить с цитатой

DEXIF писал(а):
ну я вообщет говорил о том что нет смысла обрезать одну букву а зачастую и две... даже если точки уже букв... они(три точки) не будут уже 1 буквы...

да нет смысла иногда обрезать 1 а то и 2 буквы
ну а может подскажеш другую идею ?
я вот на эту фигню уже больше недели убил - ищу наиболее преемлимый вариант - перебрал кучу всяких решений
в итоге самый простой оказался самым хорошим
обрезание по славам - антивариант
а точки это всеголиш для эстетики а не потому что они там нужны
_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Пн, 29 Июн, 2009 07:45    Заголовок сообщения: Ответить с цитатой

и ваще чуствую себя последним нубом . мозг чтоли умер =(
одно утешение - мож это комунить понадобиться -и он найдёт тут решение
а я пойду дальше влачить своё жалкое существование =)
_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alek$
11 1110 1000
11 1110 1000


Зарегистрирован: 24.11.2007
Сообщения: 1136
Откуда: Новосибирск
26695 Монеты

СообщениеДобавлено: Вт, 30 Июн, 2009 04:56    Заголовок сообщения: Ответить с цитатой

CTPATOTAHKEP
не сочтите мнея занудой, но перед отправкой сообщения стоит проверять орфографию - это значительно добавит ценности вашим сообщениям.
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Вс, 05 Июл, 2009 10:47    Заголовок сообщения: Ответить с цитатой

видетели я не в Росии живу - и очень редко на руском говорю
ещё реже пишу
я стараюсь писать правильно насколько помню
видимо забываю язык
_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CTPATOTAHKEP



Зарегистрирован: 27.06.2009
Сообщения: 19

1018 Монеты

СообщениеДобавлено: Вс, 05 Июл, 2009 10:50    Заголовок сообщения: Ответить с цитатой

Уважаемые нужна опять помощь - под мазилой почемуто не работает скрипт Shocked
что только не перепробывал может поможете на данном примере




$nazvtitla = getinput($ds[headline1]);

if(strlen($nazvtitla)>50) {
$nazvtitla=substr($nazvtitla, 0, 50);
$nazvtitla.='..';
}

$headline='<a href="index.php?site=news_comments&newsID='.$ds[newsID].'&lang='.$ds[lang1].'">'.$nazvtitla.'</a>';
_________________
пишем- перепишем
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
На страницу 1, 2  След.
Страница 1 из 2

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group


Рейтинг SIMPLETOP.NET