Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поиск определенных символов перед и после переменной
Форумы портала PHP.SU » » Вопросы новичков » Поиск определенных символов перед и после переменной

Страниц (1): [1]
 

1. phpProc - 25 Октября, 2014 - 17:36:36 - перейти к сообщению
Уважаемые форумчане, очень надеюсь на вашу помощь. У самого уже голова кипит.
Есть код:
PHP:
скопировать код в буфер обмена
  1.  
  2. $namenew = 'hello2';
  3. $name = 'Hello';
  4. $query = "UPDATE posters SET `poster` = REPLACE(`poster` , '{$name}', '{$namenew}')";
  5.  

Этот запрос находит в поле poster $name и меняет ее на $namenew.
Все бы хорошо, НО:
В поле poster может быть следующие данные:
привет, бла-бла-бла <a href='ссылка'>Hello</a>... или такое:
[ php ]
<?php
echo 'Hello';
?>
[ /php ]
Так вот, нужно проверить , находиться ли слово из переменной $name(в нашем случае Hello) между определенных тегов. В нашем случае:
<a href='ссылка'> и </a> или [ php ] и [ / php ].
И если находиться, то не менять.
P.S. php - теги без пробелов
Скажите как это сделать?
2. phpProc - 25 Октября, 2014 - 19:46:56 - перейти к сообщению
Ну что , поможет кто?
3. kotyara1979 - 26 Октября, 2014 - 05:35:36 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $query = "UPDATE posters SET `poster` = REPLACE(`poster` , '{$name}', '{$namenew}') where `poster` not like '<a%</a>' and `poster` not like '<php>%</php>'";
  3.  


Во втором случае, замените "<" на нужное.

 

Powered by ExBB FM 1.0 RC1