Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Matold

Страницы: [1] 2
1
Вот, может кому-нить еще пригодится :)
<?php function uc2html($str) { 
    
$ret = \'\'; 
    for( $i=0; $i<strlen($str)/2; $i++ ) { 
        $charcode = ord($str[$i*2])+256*ord($str[$i*2+1]); 
        $ret .= \'&#\'.$charcode; 
    } 
     return HTMLtoKOI($ret); 

function HTMLtoKOI($str){ 
  $str = preg_replace(\'~&#(\\d+)~se\',\'html_entity_decode("$0".";",ENT_QUOTES,"CP1251")\',$str); 
  $str = str_replace(";","",$str); 
  $str = preg_replace(\'~&#(\\d+)~se\',\'\\\\1>1103 ? "\\\\0;" : (\\\\1>848 ? chr(\\\\1-848) : chr(\\\\1))\',$str); 
  return trim($str); 
} ?> 

2
Точно :) Я тоже уже решил так сделать... Спасибо за помощь!

3
Ок :) Поиск будет работать, но не так, как хотелось бы :)

Может кто насчет регулярных выражений поможет:

//ЗАМЕНЯЕТ &#1086;&#1087;&#1080;&#1089;&#52; на опис4
function Unicode2Charset($str$charset = \'Windows-1251\') {
  return preg_replace(
    \'~&#(?:x([\\da-f]+)|(\\d+));~ie\',
    \'iconv("UTF-16LE", $charset, pack("v", "$1" ? hexdec("$1") : "$2"))\',
    $str
  );
}

А как изменить регулярное выражение, чтобы оно заменяло
 
&#1086&#1087&#1080&#1089&#52 на опис4?

(во втором случае символы не разделены ; )
Просто когда меняю регулярное выражение на то, что в  FAQ дописано - возвращает пустую строку.

5
Так фишка в том, что если посмотреть страницу в виде html - то &#1086&#1087&#1080&#1089&#52 - такая фигня не изменится на русские символы. С выводом на экран пользователю проблем нету. Проблема в том например, что когда в базе хранятся вместо русских символов &#xxxx&#yyyy, то  поиск не будет работать.

6
Здравстуйте!
У меня при импорте русского текста из excela в базу пишется
&#1086&#1087&#1080&#1089&#52
- такая строка. А я хочу перед самим импортом заменить эту строку на нормальные русские символы. На php.net я чет не разобрался с ф-иями, там самодельные примеры, но они не работают у меня (похоже применяю не правильно (( ) Вообщем если кто-то похожее делал - напишите пример плиз, как это возможно осуществить....
Заранее спасибо за вашу помощь!!!

7
Еще вопрос возник... У меня при импорте из excela в базу пишется&#1086&#1087&#1080&#1089&#52  - такая строка. А я хочу перед самим импортом заменить эту строку на нормальные русские буквы. На php.net я чет не разобрался с ф-иями, там самодельные примеры, но они не работают у меня (похоже применяю не правильно :((( ) Вообщем если кто-то похожее делал - напишите пример плиз, как это возможно осуществить....
Заранее спасибо!!!

8
Спасибо!

9
Поиском вроде поискал, ничего по теме не нашел :(
Вообщем у меня в адресной строке броузера вводится  "script.php?text=%F2%EE%E2%E0%F0", а сам скрипт должен выдать мне не %F2%EE%E2%E0%F0, а русский текст. Может готовая ф-ия есть уже для этого?

10
ОГРОМНОЕ спасибо!

11
To RomikChef

 
Цитировать
Это если не рассматривать полную бессмысленность начичия отдельной таблицы для текстов.

Насколько я знаю (из всяких форумов/ пособий по пхп) наличие текстов в др. таблице позволяет увеличить быстродеятельность форума (тк не все тексты надо загружать, показывая список тем).

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

А как сделать это одним запросом? А на пхп я самоучка, книжек мало, вот что могу, то и делаю, я не профф. программист и это не моя работа.

12
Вот написал для форума скрипт, который выводит тексты н форум "простыню", причем тексты в отдельной таблице (PostID|Text), однако заполнение массива $Row2  не происходит (Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource ), не могу понять причину :(

$Query 
"SELECT * from $TableName WHERE PostArea = $area AND Parent = $parent ORDER BY PostDate ASC";
$Result mysql_db_query ($DBName$Query$DBLink);
while (
$Row mysql_fetch_array ($Result)) {

	
$Query2 "SELECT * from $TableName2 WHERE PostID  = $Row[PostID]";
	
$Result2 mysql_db_query ($DBName$Query2$DBLink);
	
$Row2 mysql_fetch_array ($Result2);
	
echo 
"$Row2[Text] 
"
;

}


13
PHP / Не могу найти ошибку в этой строке
« : 07 Января 2004, 00:26:18 »
Цитировать
$qery, а дальше у тебя, в следующей строчке запрашивается $Qery

Ах черт! Все спасибо, я не знал что к регистру чувствителен PHP, я это просто для удобства называл с большой :))
ОГРОМНОЕ СПАСИБО НУ Я И ИДИОТ. Все, тему можно закрыть :)

14
PHP / Не могу найти ошибку в этой строке
« : 06 Января 2004, 23:02:25 »
Цитировать
Я думаю, нужно все таки почитать что такое . и зачем она нужна... как только ты пймешь, что это такое... я думаю ты поймешь конструкции \\" в твоем коде - гупость.

Если не секрет, где найти про . ? (Вернее как найти? В руководстве php поиск точки ничего не дает) Насколько я знаю она складывает 2 строки, но не понимаю как относиться к данному примеру

15
PHP / Не могу найти ошибку в этой строке
« : 06 Января 2004, 22:54:21 »
Цитировать
и тут же берешь код, в котором столбцы не перечислены

Так как я уменьшил таблицу, поэтому не стал перечислять столбцы.

Цитировать
Неужели так трудно подумать и спросить, что непонятно?
человеку дают ГОТОВЫЙ правильный пример

Вот мне и не понятно, если ты объясняешь что пример правильный и готовый, то почему результат кода
<?php 
$Host 
"database.agava.ru"
$User "xxx"
$Password "xxx"
$DBName "xxx"
$TableName "Feedback"
$Link mysql_connect($Host$User$Password); 
//$Query = "INSERT into $TableName values (\\"0\\", \\"$Array[FirstName]\\", \\"$Array[LastName]\\", \\"$Array[Email]\\", \\"$Array[Comments]\\")"; 
$query="INSERT INTO $TableName values (0,\'".implode("\',\'",$Array)."\')"
if (
mysql_db_query ($DBName$Query$Link)) { 
echo 
"обновлены данные таблицы $TableName.
\\n"

echo 
"\\n <meta http-equiv=\\"refresh\\" content=\\"1;URL=sql_feedback_view.php\\" >"
} else { 
echo 
"Не удается обновить таблицу $TableName.
\\n"


mysql_close ($Link); 
?> 

при выполнении выдает "Не удается обновить таблицу" ??? Я написал абсолютно как ты сказал:
Цитировать
ну, или если без перечисления полей, то так:

$query="INSERT INTO $TableName values (0,\'".implode("\',\'",$Array)."\');

Так ты убиваешь кучу зайцев: получается универсальный запрос не зависящий от состава и количества полей.
получается синтаксически правильный запрос.
Избегаешь возможных ошибок при ручном вводе.


Цитировать

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

Тут я тебя не понимаю... //$Query=... Это то, что у меня работало, но чтобы не стирать я ее поместил в комментарий.
То что ты сказал - $query я вставил в программу. Ну так объясни, ПОЧЕМУ НЕ РАБОТАЕТ ? Причем здесь "копировать не метод, не умение, не знание, а тупо, как обезьяна, просто передирать код, не понимая его смысла" Я понимаю смысл своего кода, и он действует, но если вставить твой код, то не база не обновляется

Страницы: [1] 2