53 / 53 / 4
Регистрация: 26.05.2011
Сообщений: 379
1

Удалить последний символ в строке вывода данных

31.08.2011, 23:25. Показов 12030. Ответов 6
Метки нет (Все метки)

Ну вот собственно такой несложный конечно вопрос возник но неполучается почему-то..

Это то что выводит на экран: Bazar - Flores y Plantas - Juguetes - Perfumerías y Regalos - ... так сказать наименования суб-категорий которые относятся к своим категориям...

И это то что сам скрипт имеет в строке
PHP
1
echo "&nbsp;<b>".$subcatnombre."</b>&nbsp;-";
хотелось бы убрать этот символ " - " в конце строки потому что выглядят суб-категории не очень аккуратно в конце с таким знаком который по идее уже не нужен...

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

PHP
1
2
$str_subcat = "&nbsp;<b>".$subcatnombre."</b>&nbsp;-";
echo preg_replace("/(.*).$/", "\\1", $str_subcat);
такой вариант также не работает

PHP
1
2
$str_subcat = "&nbsp;<b>".$subcatnombre."</b>&nbsp;-";
echo substr($str_subcat, 0, strlen($str_subcat)-1);

спасибо .
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2011, 23:25
Ответы с готовыми решениями:

Удалить последний символ в строке
Нужно если последний символ в переменной / удалить его! напирмер $str = 'http://site.ru/'; ...

В заданной строке удалить последний символ пробел, который найдется в строке
Здравствуйте, можете помочь с методом удаления последнего пробела в строке?

Удалить последний символ в строке
Прошу подсказать. Мне нужно в текстбоксе удалить последний символ. Я делаю так: Dim n As String...

Удалить последний символ в строке
Пробовал так: string x = &quot;xxxxx&quot;; int x1 = 0; x1 = x.Length - 1; x = x.Substring(0, x1); Но...

6
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
31.08.2011, 23:34 2
Там же есть цикл? Так вот заведи в этом цикле переменную и итерируй его с каждой новой субкатегорией.
А потом:
PHP
1
2
$numrows = mysql_num_rows($query) // узнаем сколько строк вернул запрос
$subcatnombre = $i < $numrows ? $subcatnombre : substr($subcatnombre, 0, strlen($str_subcat)-1);
0
53 / 53 / 4
Регистрация: 26.05.2011
Сообщений: 379
31.08.2011, 23:52  [ТС] 3
еще хуже получается и без символов в добавок

BazarFlores y PlantasJuguetesPerfumerías y Regalos

PHP
1
2
3
$numrows = mysql_num_rows($getsubcatSQL); // 
$subcatnombre = $i < $numrows ? $subcatnombre : substr($subcatnombre, 0, strlen($str_subcat)-1);
echo $subcatnombre;

желаемый результат такой: Bazar - Flores y Plantas - Juguetes - Perfumerías y Regalos


вот решил вписать полный код что бы не путаться случайно...

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$db = @mysql_connect("$servername", "$dbusername", "$dbpassword");
if( ! ($db = @mysql_connect("$servername", "$dbusername", "$dbpassword")) ) {
} else {
mysql_select_db("$dbname",$db) or die("Select DB Error: ".mysql_error());
}
// get the results to be displayed
$getsubcatSQL = mysql_query("select * from tblsubcategorias where cat_id = ".$tn." ORDER BY subcatnombre ASC");
while($r=mysql_fetch_array($getsubcatSQL)){
extract($r);
 
$str_subcat = "&nbsp;<b>".$subcatnombre."</b>&nbsp;-";
 
echo substr($str_subcat, 0, strlen($str_subcat)-1); 
 
 
}
0
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
01.09.2011, 00:19 4
Сделай выборку в цикле я щас с телефона трудно писать ответ но я думаю ты сам сможешь сделать это.
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
01.09.2011, 11:52 5
PHP
1
2
3
4
$str = 'bla bla bla bla -'; //строка
$count = 0; // цифхерка
$count = length($str); //смотрим длинну массива букв (а к строкам в PHP можно обращатьтся по номеру символа в строке)
$str[$length] = '';// убираем лишний символ
Добавлено через 2 минуты
А еще лучше, этим же length посмотри сколько в выборке строк, шарахни счетчик и на последний символ не выводи. И все.
0
53 / 53 / 4
Регистрация: 26.05.2011
Сообщений: 379
01.09.2011, 18:16  [ТС] 6
Цитата Сообщение от KoIIIeY Посмотреть сообщение
А еще лучше, этим же length посмотри сколько в выборке строк, шарахни счетчик и на последний символ не выводи. И все.
незнаю конечно но мне кажется что это не сработает... потому что в каждой категории разное количество суб-категорий.. поэтому количество по счетчику наверное не сможет правильно сработать..

.........................................
спасибо.
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
01.09.2011, 18:39 7
Сможет, ты считаешь кол-во символов в строке
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2011, 18:39
Помогаю со студенческими работами здесь

Удалить ненужный последний символ в строке
Есть такои код. Нужно, чтобы он возвращал строку без последней запятои, т.е вот такои s= 0,1или...

В заданной строке удалить последний символ
в заданной строке удалить последний символ.

Удалить последний символ в каждой строке из файлов
Добрый день. Прошу помощи в решении вот такого вопроса. Есть каталог и в нем много файлов,...

Как в строке AnsiString удалить последний символ?
Как в строке AnsiString удалить последний символ? Подскажите, а то я чего-то подзабыл, еще вчера я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru