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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Удаление лишнего участка кода в начале и конце строки ячейки таблицы
 
 автор: pautina   (09.02.2012 в 18:46)   письмо автору
 
 

Здравствуйте.
Мне нужно удалить лишние участки в ячейки таблицы содержащей html код
Мы переходим в цикле по содержимому каждой ячейки и обновляем содержимое ячейки таблицы

 $findme_home='<H1 style="TEXT-ALIGN: center">';     
 $pos_home = strpos($catagory['Field 3'], $findme_home);
 $newField_3 = substr($catagory['Field 3'], $pos_home);
         
 $findme_end='<P>       <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>';       
 $pos_end = strpos($catagory['Field 3'], $findme_end); //   $findme    Field 3  
     //$newstr = substr($str, 0, $pos+129); //     Field 3  0    $pos+129  
 $newField_3 = substr($catagory['Field 3'], 0, $pos_end+129);  
     
 $query = "UPDATE material_content_into3     
                SET `Field 3` = '{$newField_3}'     
                WHERE ID = {$catagory['ID']}";             

Удаление участков кода в начале и конце html кода идёт по отдельности.
Нужно чтобы и в начале и в конце лишние учаски удалялись
после строки
$newField_3 = substr($catagory['Field 3'], $pos_home);
нужно вероятно писать не
$pos_end = strpos($catagory['Field 3'], $findme_end); а
$pos_end = strpos($catagory['$newField_3'], $findme_end);
и
$newField_3 = substr($catagory['$newField_3'], 0, $pos_end+129);
Но и так удаление не идёт

  Ответить  
 
 автор: pautina   (10.02.2012 в 19:19)   письмо автору
 
   для: pautina   (09.02.2012 в 18:46)
 

В чём тут может быть дело?

     $findme_home='<H1 style="TEXT-ALIGN: center">';     
     $pos_home = strpos($catagory['Field 3'], $findme_home);
     $newField_3 = substr($catagory['Field 3'], $pos_home);
         
     // $findme_end='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>';       
     // $pos_end = strpos($catagory['$newField_3'], $findme_end); //   $findme    Field 3  
     // $newField_3 = substr($catagory['$newField_3'], 0, $pos_end+129);  

Может здесь какая то особенность, почему контент удаляется только в начале,
Если закоментаренные строки убрать (это удаление кода в конце), то после выполнения скрипта ячейки остаётся пустыми

  Ответить  
 
 автор: pautina   (13.02.2012 в 11:44)   письмо автору
 
   для: pautina   (10.02.2012 в 19:19)
 

Ни посоветуете что либо?

  Ответить  
 
 автор: pautina   (15.02.2012 в 15:04)   письмо автору
 
   для: pautina   (13.02.2012 в 11:44)
 

где может быть ошибка в этом участке кода

     $findme_home='<H1 style="TEXT-ALIGN: center">';   // удаление html кода в начале ячейки   
     $pos_home = strpos($catagory['Field 3'], $findme_home); 
     $newField_3 = substr($catagory['Field 3'], $pos_home); 
          
     // $findme_end='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>';     // удаление html кода в конце ячейки   
     // $pos_end = strpos($catagory['$newField_3'], $findme_end); //   $findme    Field 3   
     // $newField_3 = substr($catagory['$newField_3'], 0, $pos_end+129);   

первые 3 строки позволяют удалить лишний код в начале строки.
если убрать коментарии в 4,5,6 строке то ячейка после обновления остаётся пустой.
если коментарим первые 3 строки и оставляем 4,5,6 строку то идёт удаление в конце строки.
Я хотел бы добится чтобы удаление шло и вначале и в конце.
По идее после строки
$newField_3 = substr($catagory['Field 3'], $pos_home);
нужно использовать не $catagory['Field 3'] а $catagory['$newField_3'], (в других скриптах в этом ошибка была)
Но тут видимо в чём то другом дело.
может как то позицию нужно считать $pos_home
Ни понятно в чём ошибка?

  Ответить  
 
 автор: Lotanaen   (15.02.2012 в 15:16)   письмо автору
 
   для: pautina   (15.02.2012 в 15:04)
 

>По идее после строки
> $newField_3 = substr($catagory['Field 3'], $pos_home);
>нужно использовать не $catagory['Field 3'] а $catagory['$newField_3'], (в других скриптах в этом ошибка была)
Вы так и не поняли сути (((
не $catagory['$newField_3'], а $newField_3

  Ответить  
 
 автор: pautina   (15.02.2012 в 17:57)   письмо автору
 
   для: Lotanaen   (15.02.2012 в 15:16)
 

Использовал этот участок

$findme_home='<H1 style="TEXT-ALIGN: center">';     
     $pos_home = strpos($catagory['Field 3'], $findme_home);
     $newField_3 = substr($catagory['Field 3'], $pos_home);
         
     $findme_end='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>';       
     $pos_end = strpos($newField_3, $findme_end); //   $findme    Field 3  
     $newField_3 = substr($newField_3, 0, ($pos_end)+129);  

После выполнения удаление идёт сначала строки до 129 символа (в строке остаётся всего 129 символов), как будто бы $pos_end не определяется
Что можно тут сделать?

  Ответить  
 
 автор: pautina   (17.02.2012 в 21:57)   письмо автору
 
   для: pautina   (15.02.2012 в 17:57)
 

Почему для этого участка кода

     $findme_home='<H1 style="TEXT-ALIGN: center">';      
     $pos_home = strpos($catagory['Field 3'], $findme_home); 
     $newField_3 = substr($catagory['Field 3'], $pos_home); 
          
     $findme_end='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>';        
     $pos_end = strpos($newField_3, $findme_end); //   $findme    Field 3   
     $newField_3 = substr($newField_3, 0, ($pos_end)+129);  

содержимое html кода в таблице не удаляется нужным образом.
в ячейке большое кол-во строк и содержимое строки в ячейке должно быть большим (50-100 строк) после удаления.
Сейчас же после работы скрипта удаляется всё так что в строке остаётся всего 129 символов, начиная с позиции $findme_home по $findme_home+129 символ.
Почему так происходит?
вот этот участок выполняется правильно

     $findme_home='<H1 style="TEXT-ALIGN: center">';      
     $pos_home = strpos($catagory['Field 3'], $findme_home); 
     $newField_3 = substr($catagory['Field 3'], $pos_home); 

а здесь

     $findme_end='<P>Данный урок подготовлен для Вас командой сайта <A href="http://www.photoshop-master.ru">http://www.photoshop-master.ru</A></P>';        
     $pos_end = strpos($newField_3, $findme_end); //   $findme    Field 3   
     $newField_3 = substr($newField_3, 0, ($pos_end)+129);  

удаление идёт неправильно
Позиция findme_end не видна что ли? Или в чём тут может быть дело?

  Ответить  
 
 автор: pautina   (18.02.2012 в 15:40)   письмо автору
 
   для: pautina   (17.02.2012 в 21:57)
 

Спасибо Вам за поддержку с вопросом разобрался, скрипт работает.

  Ответить  
Rambler's Top100
вверх

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