Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2011, 19:55   #21
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от KLAXON Посмотреть сообщение
но я не делаю этого. скорее всего потому, что это утяжеляет код и делает его больше. меня пока пугают большие коды чем код больше, тем я больше теряюсь что ли...
Ну так это просто вывод на время кодинга - прошли определённый элемент,вывели результаты, убедились что всё отрабатывает корректно - и удаляйте этот вывод.
Один-два var_dump-а врядли усложнит вам понимание вашего кода..

Логические ошибки - самые сложные,без вывода тут иногда никак,привыкайте.

С опытом и более глубоким пониманием количество и необходимость таких выводов значительно уменьшится.
Andkorol вне форума Ответить с цитированием
Старый 04.02.2011, 20:03   #22
KLAXON
Пользователь
 
Регистрация: 17.06.2010
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
...
С опытом и более глубоким пониманием количество и необходимость таких выводов значительно уменьшится.
почитал про var_dump(), удобнейшая штука, как оказывается
еще раз спасибо, буду пользовать!
KLAXON вне форума Ответить с цитированием
Старый 07.02.2011, 13:13   #23
KLAXON
Пользователь
 
Регистрация: 17.06.2010
Сообщений: 50
По умолчанию

чтобы не создавать миллион тем для своих "глупых" вопросов, - буду продолжать эту, т.к. вопросы по ходу изучения php возникают достаточно часто

функций для работы со строками достаточно много. а чем, по вашему мнению, проще и удобней разбить строку из нескольких слов на буквы и вернуть результат разбивки в массив?

UPD: я рассматриваю 2 варианта:
1. строка разбивается explode() на слова и затем полученное разбивается на отдельные буквы, получаем многомерный массив.
2. сразу разбиваем какую-то фразу на буквы.

разумеется, 2й вариант проще и удобней, мне кажется.

Последний раз редактировалось KLAXON; 07.02.2011 в 13:15.
KLAXON вне форума Ответить с цитированием
Старый 07.02.2011, 13:36   #24
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от KLAXON Посмотреть сообщение
разумеется, 2й вариант проще и удобней, мне кажется.
Вы бы лучше описали задачу - для чего это вам нужно.
Возможно есть другой,более правильный способ получить желаемое...
Andkorol вне форума Ответить с цитированием
Старый 07.02.2011, 13:50   #25
KLAXON
Пользователь
 
Регистрация: 17.06.2010
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Вы бы лучше описали задачу - для чего это вам нужно.
Возможно есть другой,более правильный способ получить желаемое...
хочу своими руками написать функцию перевода строки в транслит и замены пробелов подчеркиваниями. понимаю, что это велосипед и до меня уже это 1000 раз написали, есть желание и время собственноручно сделать это.

UPD: вот так нормально?

PHP код:
$phrase "Какая-то фраза с пробелами";

function 
space ($phrase)
{
    
$withoutSpace str_replace(" ","_"$phrase);
    return 
$withoutSpace;
}

echo 
'<b>Новая фраза без пробелов: </b>' space ($phrase); 

Последний раз редактировалось KLAXON; 07.02.2011 в 14:03.
KLAXON вне форума Ответить с цитированием
Старый 07.02.2011, 14:02   #26
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Собственно для этого достаточно функции str_replace() и пары массивов с заменяемыми символами.

Вот вам в помощь пример реализации

Ну а на ваш первый вопрос о разбивке строки на символы - str_split()
Andkorol вне форума Ответить с цитированием
Старый 07.02.2011, 14:10   #27
KLAXON
Пользователь
 
Регистрация: 17.06.2010
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Ну а на ваш первый вопрос о разбивке строки на символы - str_split()
да, спасибо по пробелам, выше я использовал именно реплейс, все сработало. а на счет разбивки строки на символы, мне показалось, что проще использовать strtr() функцию, вместо str_split():

где, $arrayALPHABET - массив с индексами букв кириллицы и значениями латинских эквивалентов, а $phrase - какая-то фраза.

PHP код:
function translit ($arrayALPHABET$phrase)
{
    
$phraseEN strtr ($phrase$arrayALPHABET);
    return 
$phraseEN;
}

echo 
translit($arrayALPHABET$phrase); 
так удобней, мне кажется и проще, не?

UPD: правда я еще не придумал, как символы посреди фразы будут убираться, чтобы получался хороший перевод без лишнего. (речь о преобразовании URL на основе названия статьи)

Последний раз редактировалось KLAXON; 07.02.2011 в 14:25.
KLAXON вне форума Ответить с цитированием
Старый 07.02.2011, 15:10   #28
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от KLAXON Посмотреть сообщение
PHP код:
function translit ($arrayALPHABET$phrase)
{
    
$phraseEN strtr ($phrase$arrayALPHABET);
    return 
$phraseEN;
}

echo 
translit($arrayALPHABET$phrase); 
так удобней, мне кажется и проще, не?
Непонятно - зачем вообще в этом случае городить функцию translit? Просто чтоб в ней применить одну стандартную функцию с теми же параметрами..?
Почему бы просто не писать так:
Цитата:
echo strtr($phrase, $arrayALPHABET);
Так даже меньше букв писАть...
Цитата:
UPD: правда я еще не придумал, как символы посреди фразы будут убираться, чтобы получался хороший перевод без лишнего. (речь о преобразовании URL на основе названия статьи)
Какие "символы посреди фразы"..?
Самый лучший способ избежать всего этого - писать транслит к названию статьи самостоятельно(добавить в БД соотв. поле).
Времени это много не займёт(при добавлении статьи) - зато URL получится однозначно красивый...
Andkorol вне форума Ответить с цитированием
Старый 07.02.2011, 16:30   #29
KLAXON
Пользователь
 
Регистрация: 17.06.2010
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Непонятно - зачем вообще в этом случае городить функцию translit? Просто чтоб в ней применить одну стандартную функцию с теми же параметрами..?
Почему бы просто не писать так:
Так даже меньше букв писАть...
согласен, масло масляное)

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Какие "символы посреди фразы"..?
Самый лучший способ избежать всего этого - писать транслит к названию статьи самостоятельно(добавить в БД соотв. поле).
Времени это много не займёт(при добавлении статьи) - зато URL получится однозначно красивый...
понятно, что ручками не сложно реализовать 100%й результат, но я задумался как автоматизировать этот процесс а на счет названия, например статья, URL которой необходимо сгенерить называется: Казнить, нельзя помиловать!

мой алгоритм оставит запятую, восклицательный знак и будет вот так в итоге: kaznit',_nel'zya_pomilovat'!

ну это так, мысли в слух, тут масса нюансов с апострофами и т.д., которые давно уже реализованы в велосипедах подобных моему 300 лет как. я задумался, как я бы это реализовал, не прибегая пока к использованию всем давно известных алгоритмов и принципов.
KLAXON вне форума Ответить с цитированием
Старый 07.02.2011, 16:53   #30
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от KLAXON Посмотреть сообщение
мой алгоритм оставит запятую, восклицательный знак и будет вот так в итоге: kaznit',_nel'zya_pomilovat'!
Насколько мне известно - в URL допускаются только буквы, цифры и символы : -_.
Всё остальное будет кодироваться в весьма неприглядный вид - потому нужно избегать использования других символов.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка синтаксиса в Acceess Droid БД в Delphi 3 06.06.2012 10:32
Ошибка синтаксиса Santosh Microsoft Office Access 2 18.08.2010 00:15
Ошибка синтаксиса в предложении FROM general_krasnov БД в Delphi 7 04.06.2010 17:39
Помогите с запросом SQL. Ошибка синтаксиса в выражении запроса. ZiG24RUS Microsoft Office Access 1 19.05.2009 06:29
EOleException 'Ошибка синтаксиса в предложении FROM' XATAB БД в Delphi 5 24.11.2008 05:43