HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #6051  
Старый 08.11.2008, 16:20
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 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
Провел на форуме:
625939

Репутация: 54
Отправить сообщение для Chode с помощью ICQ Отправить сообщение для Chode с помощью AIM
По умолчанию

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

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

Репутация: 78
Отправить сообщение для Zircool с помощью ICQ
По умолчанию

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

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

Репутация: 244
Отправить сообщение для Jer1cho с помощью ICQ
По умолчанию

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

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

Репутация: 1385


По умолчанию

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

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

Репутация: 398
Отправить сообщение для PandoraBox с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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
Провел на форуме:
1269624

Репутация: 114
Отправить сообщение для EST a1ien с помощью ICQ
По умолчанию

Есть следующий код. Есть ли идеи по оптимизации.
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[1][0]}:{$farr[2][$i]}}",$tmp[$farr[2][$i]],$work); 
на preg_replace но чето немогу некак составить регулярку. Да и надо ли?
Еще думаю можно избавиться от временных переменных. но тоже не-могу придумать нечего.


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

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

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

Репутация: 186
Отправить сообщение для Ru}{eeZ с помощью ICQ
По умолчанию

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

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

Репутация: 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
Провел на форуме:
2769640

Репутация: 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.XYZ