Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Убрать лишний участок из html кода

Сообщения:  [1-10]   [11-16] 

 
 автор: pautina   (04.01.2012 в 16:00)   письмо автору
 
   для: cheops   (04.01.2012 в 15:19)
 

Ну наконец то. )
А я то думаю в чем же тут дело?,
почему строка не урезается как надо, и по коду всё правильно, и скриптом регулярного выражения я проверял, строка обрезалась.
В кодировке оказывается дело.
Спасибо Вам огромное.

  Ответить  
 
 автор: cheops   (04.01.2012 в 15:19)   письмо автору
 
   для: pautina   (04.01.2012 в 14:56)
 

У вас скрипт в какой кодировке работает и в какой кодировке данные в базе данных?

  Ответить  
 
 автор: pautina   (04.01.2012 в 14:56)   письмо автору
 
   для: cheops   (04.01.2012 в 14:37)
 

Содержимое ячейки обновляется, контент урезается, но не так как нужно.
Сбой выгледит так урезается строка с 0 символа, а не с символа $pos+129, там по исходному коду видно что контента должно быть больше.
Почему контент так урезается не понятно?

  Ответить  
 
 автор: cheops   (04.01.2012 в 14:37)   письмо автору
 
   для: pautina   (04.01.2012 в 13:34)
 

У меня ваш скрипт сработал как надо. У вас вообще не обновляется дамп, как выглядит сбой?

  Ответить  
 
 автор: pautina   (04.01.2012 в 13:34)   письмо автору
88.3 Кб
 
   для: cheops   (04.01.2012 в 13:07)
 

Файл прикрепил. Посмотрите. Все из этого исходника берётся.
Данный файл формирует таблицу из 3 строк, сделайте sql запрос в phpMyAdmin получите исходную таблицу из поля Field 3 которой нужно удалить лишний участок кода.

  Ответить  
 
 автор: cheops   (04.01.2012 в 13:07)   письмо автору
 
   для: pautina   (04.01.2012 в 12:55)
 

Выведите сбойный $catagory['Field 3'] в файл (не в браузер, а именно в файл) и прикрепите сюда, там может быть что угодно, нужно ситуацию воспроизводить.

  Ответить  
 
 автор: pautina   (04.01.2012 в 12:55)   письмо автору
 
   для: cheops   (04.01.2012 в 12:12)
 

По более простому выражению
$findme='<P>Данный урок подготовлен для Вас командой сайта';

оно уникально для содержимого каждой ячейки и встречается только 1 раз строка всё равно урезается с 0 символа.

$findme='<P>Данный урок подготовлен для Вас командой сайта';
     
     $pos = strpos($catagory['Field 3'], $findme); // определяем позицию $findme в содержимом поля Field 3
     //$newstr = substr($str, 0, $pos+129); // создаём новую строку из Field 3 от 0 сивола до символа $pos+129
     $newField_3 = substr($catagory['Field 3'], 0, $pos+129);
       
      // Запрос для обновления 
      $query = "UPDATE material_content_into3   
                SET `Field 3` = '{$newField_3}'   
                WHERE ID = {$catagory['ID']}";            

Нужно вывести на печать, чему равна $pos, и понять почему она =0, а не 780 например.

  Ответить  
 
 автор: cheops   (04.01.2012 в 12:12)   письмо автору
 
   для: pautina   (04.01.2012 в 09:32)
 

Зря по такой сложной строке ищите... нельзя упростить искомое выражение? в HTML-коде адрес http://www.photoshop-master.ru где-нибудь еще встречается?

  Ответить  
 
 автор: pautina   (04.01.2012 в 09:32)   письмо автору
88.3 Кб
 
   для: cheops   (03.01.2012 в 18:10)
 

Взгляните на этот код
<?php    
  $conn 
mysql_connect ("localhost""root""")  
            or die (
"Соединение не установлено!");  
  
mysql_select_db("bd_photoshop-portal"$conn);  
   
  
$query "SELECT * FROM material_content_into3";    
  
$cat mysql_query($query);    
  if(!
$cat) exit("Ошибка выполнения запроса - ".mysql_error()."<br />".$query);    
  if(
mysql_num_rows($cat))    
  {    
    while(
$catagory mysql_fetch_assoc($cat))  
    {     
      
$findme='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>'
      
     
$pos strpos($catagory['Field 3'], $findme); // определяем позицию $findme в содержимом поля Field 3 
     //$newstr = substr($str, 0, $pos+129); // создаём новую строку из Field 3 от 0 сивола до символа $pos+129 
     
$newField_3 substr($catagory['Field 3'], 0$pos+129); 
        
      
// Запрос для обновления  
      
$query "UPDATE material_content_into3    
                SET `Field 3` = '
{$newField_3}'    
                WHERE ID = 
{$catagory['ID']}";                              
      if(!
mysql_query($query))    
      {    
        exit(
"Ошибка выполнения запроса - ".mysql_error()."<br />".$query);    
      }  
      echo 
'Запрос выполнен успешно';    
    }    
  }    
?> 

Почему здесь строка урезается не с позиции 780 например, это то место где в коде присутствует текст '<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>' а с 0 символа строки,
может дело как то в типе данных Field 3 это longtext.
Файл который создает таблицу material_content_into3 через mysql запрос прикрепил.

  Ответить  
 
 автор: cheops   (03.01.2012 в 18:10)   письмо автору
 
   для: pautina   (03.01.2012 в 17:31)
 

Мне иногда еще и работу делать нужно по студии :) Постараюсь чуть попозже ответить.

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования