PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (3): « 1 [2] 3 »

> Найдено сообщений: 45
Alex131 Отправлено: 25 Ноября, 2012 - 17:56:44 • Тема: вырезать текст • Форум: Вопросы новичков

Ответов: 2
Просмотров: 164
PHP:
скопировать код в буфер обмена
  1. $pos=strripos($text,'Лес');
  2. $last_text=substr($text, $pos, $pos+1000);


без кавычек отлично работает, спасибо)
(Добавление)
Если не затруднит, подскажите как вырезать 1000 символов после и 1000 символов до слова "лес"?
Alex131 Отправлено: 25 Ноября, 2012 - 17:28:19 • Тема: вырезать текст • Форум: Вопросы новичков

Ответов: 2
Просмотров: 164
Здравствуйте, у меня такой вопрос, есть переменная со словом "лес" и есть переменная с текстом, мне нужно найти в тексте первое попавшееся слово "лес" и вырезать 1000 символов после него(включая его). Но с учетом что текст и слово постоянно разные.
Помогите решить эту проблему. Спасибо!
Alex131 Отправлено: 24 Ноября, 2012 - 17:21:34 • Тема: проблема с кодировкой • Форум: Вопросы новичков

Ответов: 9
Просмотров: 323
это вариант, спасибо.
(Добавление)
Нашел, текст неправильно отображался после обработки функцией mb_strtolower.
Подскажите как правильно исправить, может заменить на другую функцию?
(Добавление)
сам исправил, дописал кодировку.
Тема закрыта, спасибо!
Alex131 Отправлено: 24 Ноября, 2012 - 17:13:57 • Тема: проблема с кодировкой • Форум: Вопросы новичков

Ответов: 9
Просмотров: 323
Цитата:
Где делали?

В 120 строке. Вывел массив на екран, текст отображался правильно.

Ваш код не помог, никаких изменений.
Alex131 Отправлено: 24 Ноября, 2012 - 17:00:11 • Тема: проблема с кодировкой • Форум: Вопросы новичков

Ответов: 9
Просмотров: 323
немного не так спросил, куда именно прописать? там же так:

прописать вашу строку перед этой или как?

Делал проверку данных которые загружаются с бд, текст нормально выводится, а вот после обработки функциями выводит "?"
Alex131 Отправлено: 24 Ноября, 2012 - 16:49:08 • Тема: проблема с кодировкой • Форум: Вопросы новичков

Ответов: 9
Просмотров: 323
avtor.fox спасибо за ответ) некогда не пользовался, подскажите как правильно прописать в моем случае?
Alex131 Отправлено: 24 Ноября, 2012 - 14:50:22 • Тема: проблема с кодировкой • Форум: Вопросы новичков

Ответов: 9
Просмотров: 323
Здравствуйте друзья, подскажите пожалуйста в чем проблема, кодировка сайта и бд utf-8, сделал поиск, но он выводит результаты знаками вопросов, пытался перекодировать результат функцией iconv но после перекодирования он выводит иероглифы.
На другом сайте с кодировкой windows-1251 работает без проблем.
Вот код обработчика:
PHP:
скопировать код в буфер обмена
  1. include ("../blocks/db.php");
  2.  
  3. $search = $_POST['search_word'];
  4.  
  5. /*-------------------------------------------------ФУНКЦИИ------------------------------------------------------------------ */
  6. function stopWords($query) {
  7.         $reg = "/\s(под|много|что|когда|где|или|которые|поэтому|все|будем|как|)\s/im";
  8.         $query = preg_replace($reg,'',$query);
  9.         return $query;
  10. }
  11.  
  12. /*--------------------------------------------------------------------------------------------------------------------- */
  13. function dropBackWords($word) {
  14.         $reg = "/(ый|ой|ая|ое|ые|ому|а|о|у|е|ого|ему|и|ство|ых|ох|ия|ий|ь|я|он|ют|ат)(\s|$)/i";
  15.         $word = preg_replace($reg,'',$word);
  16.         return $word;
  17. }
  18. /*----------------------------------------------------------------------------------------------------------------------------- */
  19.  
  20. function colorSearchWord($word, $string, $color) {
  21.    
  22.         $replacement = "<span style='color:".$color."; background-color:#FFFF00;'>".$word."</span>";
  23.         $result = str_replace($word, $replacement, $string);
  24.         return $result;
  25. }
  26. /*---------------------------------------------------------------------------------------------------------------------------- */
  27. function explodeQuery($query) {        
  28.    
  29.         $query = mb_strtolower(stopWords($query));
  30.    
  31.         $words = preg_split("/[\s]+/", $query);
  32.         $i = 0;                                                
  33.         $keywords = "";                
  34.        
  35.         foreach ($words as $word) {    
  36.                 $word = trim($word);
  37.                        
  38.                         if (strlen($word)>4) {
  39.                                 $keywords[$i]=dropBackWords($word);    
  40.                                 $i++;                                                          
  41.                         }
  42.                         else {
  43.                 $keywords[$i]=$word;                           
  44.                 $i++;
  45.             }
  46.         }
  47.         if($word == "stop"){ return $word; }
  48.         else{ return $keywords; }
  49. }
  50. /*---------------------------------------------------------------------------------------------------------------------------- */
  51.  
  52. function searchResult3($material3, $keywords) {
  53.        
  54.         foreach ($material3 as $material) {
  55.                 $title = mb_strtolower(htmlspecialchars(strip_tags($material[title])));
  56.                 $text = mb_strtolower(htmlspecialchars(strip_tags($material[text])));
  57.                
  58.                 $wordWeight =0;
  59.                 foreach ($keywords as $word) {  
  60.                         $reg = "/(".$word.")/";        
  61.                        
  62.                         $wordWeight = preg_match_all($reg, $title, $out);      
  63.                         $wordWeight += preg_match_all($reg, $text, $out);      
  64.                         $wordWeight += preg_match_all($reg, $key, $out);       
  65.                         $material['relevation'] += $wordWeight;
  66.                        
  67.                         $title = colorSearchWord($word, $title, "red");
  68.                         $text = colorSearchWord($word, $text, "red");
  69.                        
  70.                        
  71.                 }
  72.                
  73.  
  74.                 if($material[relevation]!=0) {
  75.                        
  76.                         $res=$material[title] = $title;
  77.                         $rec=$material[text] = $text;
  78.                         //$rec=iconv("CP1251","UTF-8" , $rec);пробовал перекодировать результат, получил иероглифы.
  79.                        
  80.                         $recs = substr($rec,0, 430);
  81.                          
  82. $rez = '<li id="programsss" style="border:1px solid #909090; color:#ffffff; background-color:#8C8C8C; border-radius:5px; margin-top:5px; padding:10px;"><a style="font-size:19px; " href="programs.php?id='.$material['id'].'"><img src="images/program.png">' . $res . '</a>'."<p style='font-weight:normal;'>". $recs ."..."."</p>"."<p style='color:#FFFF00;'>"."Совпадений: ". $material[relevation]."</p></li>";
  83.                          
  84.         echo $rez;
  85.                 }
  86.                 else{
  87.                   unset($rez);
  88.                   }      
  89.         }
  90.         }
  91. /*--------------------------------------------------------- КОНЕЦ ФУНКЦИЙ------------------------------------------------------ */
  92.  
  93.         if(isset($search) && $search !== "Поиск...") {
  94.        
  95.         $query = trim($search);
  96.         $query = mysql_real_escape_string($query);
  97.         $query1 = mb_strtolower($query);
  98.         $query1 = iconv("UTF-8", "windows-1251",$query1);
  99.        
  100.         if(!mb_eregi("^[[:alnum:] ]*$", $query1)){exit ("<p style='color:red; background-color:black; border-radius:5px; padding:10px 30px;'>Недопустимый запрос! Используйте только буквы и цифры!</p>");}
  101.         $reg = "/((\{)|(\[)|(\()|(\*)|(\')|(\")|(select)|(limit)|(from)|(connect)|(root)|(bin)|(<)|(>)|(daemon)|(adm)|(lp)|(sync)|(shutdown)|(halt)|(mail)|(news)|(uucp)|(operator)
  102.         |(games)|(mysql)|(httpd)|(nobody)|(dummy)|(www)|(cvs)|(shell)|(ftp)|(irc)|(debian)|(ns)|(download))/";
  103.     $result = preg_match($reg, $query1, $maches);
  104.                 echo $result;
  105.         if($result == 1){exit ("<p style='color:red; background-color:black; border-radius:5px; padding:10px 0 10px 10px;'>Недопустимый запрос! Используйте только буквы и цифры!</p>");}
  106.         else{
  107.        
  108.         $keywords = explodeQuery($query);
  109.    
  110.           $sql3 = "SELECT id, title, text, mini_img  FROM program ";
  111.           $results3 = mysql_query($sql3);
  112.          
  113.                 if (mysql_num_rows($results3)!=0) {
  114.                
  115.                 while($row3 = mysql_fetch_assoc($results3))
  116.                 {
  117.                         $material3[$row3[id]] = $row3;
  118.                 }
  119.                
  120.          //print_r($material3);
  121.       searchResult3($material3,$keywords); }
  122.                        
  123.         else {
  124.            
  125.         echo "Произошла ошибка!";
  126.     }
  127.        
  128.   }
  129. }
  130.        
  131. else{ return false; }
  132.        
  133.  
Alex131 Отправлено: 03 Августа, 2012 - 15:17:09 • Тема: робота функции strtr • Форум: Если скрипт не работает

Ответов: 4
Просмотров: 1215
Спасибо, все работает.
(Добавление)
Все работает если просто поменять строку на строку, а если использовать массив то не заменяет, ошибок не выдает. Наверное не так сделал.
Вот код:
PHP:
скопировать код в буфер обмена
  1. $mass = array('<img src=\"images/smiles/Smiles_1/020.gif\">','<img src=\"images/smiles/Smiles_1/021.gif\">','<img src=\"images/smiles/Smiles_1/022.gif\">','<img src=\"images/smiles/Smiles_1/023.gif\">','<img src=\"images/smiles/Smiles_1/024.gif\">','<img src=\"images/smiles/Smiles_1/025.gif\">','<img src=\"images/smiles/Smiles_1/026.gif\">','<img src=\"images/smiles/Smiles_1/027.gif\">','<img src=\"images/smiles/Smiles_1/028.gif\">','<img src=\"images/smiles/Smiles_1/029.gif\">','<img src=\"images/smiles/Smiles_1/030.gif\">','<img src=\"images/smiles/Smiles_1/031.gif\">','<img src=\"images/smiles/Smiles_1/032.gif\">','<img src=\"images/smiles/Smiles_1/033.gif\">','<img src=\"images/smiles/Smiles_1/034.gif\">','<img src=\"images/smiles/Smiles_1/035.gif\">'
  2. );
  3. $mass2 = array('::020::', '::021::', '::022::','::022::', '::024::','::025::','::026::','::027::','::028::','::029::','::030::','::031::','::032::','::033::','::034::','::035::');
  4.  
  5. $text = str_replace($mass, $mass2, $text);

(Добавление)
Разобрался, не нужно было экранировать кавычки)
Alex131 Отправлено: 03 Августа, 2012 - 14:47:55 • Тема: робота функции strtr • Форум: Если скрипт не работает

Ответов: 4
Просмотров: 1215
LIME
спасибо))) меня еще интерисует, почему наоборот все работает:
PHP:
скопировать код в буфер обмена
  1. '::020::'=>'<img src="images/smiles/Smiles_1/020.gif">',
Alex131 Отправлено: 03 Августа, 2012 - 14:11:03 • Тема: робота функции strtr • Форум: Если скрипт не работает

Ответов: 4
Просмотров: 1215
Здравствуйте, для замены <img src="link"> на ::10:: использую функцию strtr но это работает только на localhost, а на удаленном так и выводится <img src="link">. Подскажите в чем может быть причина?
вот пример функции:
PHP:
скопировать код в буфер обмена
  1. function replase_smiles($variables){
  2. $modified = strtr($variables, array(
  3.     '<img src="images/smiles/020.gif">'=>'::020::',
  4. ));
  5. return $modified;
  6. }
Alex131 Отправлено: 02 Августа, 2012 - 15:14:37 • Тема: не работает файл Lock.php • Форум: Если скрипт не работает

Ответов: 22
Просмотров: 10866
если некто не знает что с этим скриптом не так, то может посоветуете другой) Буду очень благодарен, а то постоянно нужно все делать в БД)))
Alex131 Отправлено: 01 Августа, 2012 - 20:26:30 • Тема: не работает файл Lock.php • Форум: Если скрипт не работает

Ответов: 22
Просмотров: 10866
Цитата:
Конкретнее. Если ошибка - то какая. Если нарушение в логике скрипта - то где, на Ваш взгляд, оно происходит. Что Вы пытаетесь сделать и что получается? Тогда нам будет гораздо проще ответить на Ваш вопрос.


При вводе данных в форму не чего не происходит, форма просто перезагружается и все, ошибки не выводит, если бы выводило ошибку то может и сам разобрался. На локальном все работает, после ввода данных, перенаправляет на файл админки.
Alex131 Отправлено: 01 Августа, 2012 - 20:06:01 • Тема: не работает файл Lock.php • Форум: Если скрипт не работает

Ответов: 22
Просмотров: 10866
Hawkmoth спасибо за информацию))
(Добавление)
Цитата:
mysql_escape_string()

и эту функцию заменил, и все тоже...
Alex131 Отправлено: 01 Августа, 2012 - 20:02:27 • Тема: не работает файл Lock.php • Форум: Если скрипт не работает

Ответов: 22
Просмотров: 10866
DelphinPRO
Я удалил все - @ и изменил строку которую вы сказали. Но нечего не изменилось(
А что делать с функциями get_magic_quotes_gpc() и mysql_escape_string()?
Alex131 Отправлено: 01 Августа, 2012 - 19:55:49 • Тема: не работает файл Lock.php • Форум: Если скрипт не работает

Ответов: 22
Просмотров: 10866
LIME пишет:
сотрите уроки прям щас!!!

Нужно же было как то начинать)))

Страниц (3): « 1 [2] 3 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB