HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #6051  
Старый 08.11.2008, 16:20
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами: 9975266

Репутация: 1916


По умолчанию

Цитата:
Сообщение от Chode  
не знаю регулярку пока...как минимизировать?
PHP код:
$txt=str_ireplace(" ".$o." "," ".$s." ",$txt);
$txt=str_ireplace(" ".$o.","," ".$s.",",$txt);
$txt=str_ireplace(" ".$o."."," ".$s.".",$txt);
$txt=str_ireplace(" ".$o."?"," ".$s."?",$txt);
$txt=str_ireplace(" ".$o."!"," ".$s."!",$txt);
$txt=str_ireplace(" ".$o.":"," ".$s.":",$txt); 
насколько я понимаю код надо заменить слово в переменной $o на слово в переменной $s...только про символы не понял, зачем менять символ на тот же самый)
не легче ли
PHP код:
$txt str_replace($o$s$txt); 
ну хотя это твоё дело)
PHP код:
$o 'жопа'// Слово которое ищем
$s 'пезда'// Слово на которое меняем

// Текст 
$txt 'траляля какой-то текст жопа: ещё там чёто'

$txt preg_replace('#'.$o.'([\.,\?!:]*?)#i'$s.'\\1'$txt);
echo 
$txt
 
Ответить с цитированием

  #6052  
Старый 08.11.2008, 16:43
Chode
Участник форума
Регистрация: 20.07.2008
Сообщений: 177
С нами: 9372902

Репутация: 54
По умолчанию

Спасибо идеально =) ну просто небольшая функция синонимизации понадобилась
 
Ответить с цитированием

  #6053  
Старый 08.11.2008, 18:14
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
С нами: 10628635

Репутация: 78
По умолчанию

Граблю новости с сайта у которого кодировка utf-8. Все сграбил сохранил в файл txt , все это сохранилось на сервере, но сам сайт для которого грабилась новость работает на кодировке windows-1251 и поэтому на сайте при выводе новости одни иероглифы((( Как это можно исправить, сграбленный текст новости до сохранения в txt файл обрабатывать функцией convert_cyr_string ?
 
Ответить с цитированием

  #6054  
Старый 08.11.2008, 18:17
Jer1cho
Участник форума
Регистрация: 06.06.2008
Сообщений: 162
С нами: 9436713

Репутация: 244
По умолчанию

php.net/iconv
 
Ответить с цитированием

  #6055  
Старый 08.11.2008, 18:18
159932
Постоянный
Регистрация: 28.09.2007
Сообщений: 820
С нами: 9799586

Репутация: 1385


По умолчанию

Zircool
iconv('входящая хрень','исходящая хрень',${что_хреначить})
 
Ответить с цитированием

  #6056  
Старый 08.11.2008, 18:20
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
С нами: 10008797

Репутация: 398
По умолчанию

Цитата:
Сообщение от Zircool  
Граблю новости с сайта у которого кодировка utf-8. Все сграбил сохранил в файл txt , все это сохранилось на сервере, но сам сайт для которого грабилась новость работает на кодировке windows-1251 и поэтому на сайте при выводе новости одни иероглифы((( Как это можно исправить, сграбленный текст новости до сохранения в txt файл обрабатывать функцией convert_cyr_string ?
Код:
function utf8_to_cp1251($str)
{
  $encoded_data = mb_convert_encoding($str, 'Windows-1251', 'UTF-8');
  $data = (mb_detect_encoding($str, "auto", true) == '') ? $str : $encoded_data;
  //$data = trim($data);
  return $data;
}
 
Ответить с цитированием

  #6057  
Старый 08.11.2008, 19:40
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
С нами: 10582516

Репутация: 114
По умолчанию

Есть следующий код. Есть ли идеи по оптимизации.
PHP код:
$data=<<<HEREDOC
[foreach {f_arr}]
{f_val:name}<br />
<b>{f_val:value}</b>
<br /><br />
[/foreach]
HEREDOC;



            
$vars['foreach']['arr'][]=array('name'=>'my1','value'=>'jon');
            
$vars['foreach']['arr'][]=array('name'=>'my2','value'=>'smit');
            
$vars['foreach']['arr'][]=array('name'=>'my3','value'=>'anjil');
            
$vars['foreach']['arr'][]=array('name'=>'my4','value'=>'demon');
            
$vars['foreach']['arr'][]=array('name'=>'my5','value'=>'tokar');

    
preg_match_all('/\[foreach {f_(.+?)}](.+?)\[\/foreach\]/is'$data$parr);
        if(isset(
$parr))
        {
            
$tmpd='';
            foreach (
$parr[0] as $k => $v) {
                foreach (
$vars['foreach'][$parr[1][$k]] as $tmp)
                {
                    
//print_r($tmp);
                    
$work=$parr[2][$k];
                    
preg_match_all('/{f_(\S+?):(\S+?)}/i'$data$farr);
                    
$num_var=count($farr[2]);
                    for(
$i=0;$i<$num_var;$i++)    $work=str_replace("{f_{$farr[1][0]}:{$farr[2][$i]}}",$tmp[$farr[2][$i]],$work);
                    
$tmpd.=$work;
                }
            
$data str_replace($v$tmpd,$data );
            }
        }
echo 
$data
у меня только одна идея.
заменить тут str_replace
PHP код:
for($i=0;$i<$num_var;$i++)    $work=str_replace("{f_{$farr}:{$farr}}",$tmp],$work); 
на preg_replace но чето немогу некак составить регулярку. Да и надо ли?
Еще думаю можно избавиться от временных переменных. но тоже не-могу придумать нечего.


ЗЫ нашел пару косяков в коде. )) правлю. сори за беспокойство )

Последний раз редактировалось EST a1ien; 08.11.2008 в 20:40.. Причина: Нашел пару косяков.
 
Ответить с цитированием

  #6058  
Старый 08.11.2008, 20:21
Ru}{eeZ
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
С нами: 9591561

Репутация: 186
По умолчанию

строковые функции работают быстрее регулярок
 
Ответить с цитированием

  #6059  
Старый 08.11.2008, 20:41
sadfeel
Познающий
Регистрация: 05.11.2008
Сообщений: 79
С нами: 9217193

Репутация: 12
По умолчанию

<?
$fp=fopen("file.txt","a");
fputs($fp,"текст");
fclose($fp);
?>

Как сделать так чтобы вписываемый текст каждый раз при обновлении стр писался с новой строки?
 
Ответить с цитированием

  #6060  
Старый 08.11.2008, 20:45
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

sadfeel
PHP код:
"текст\r\n" 
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.