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 » PHP » Регулярные выражения » помогите с регулярными выражениями

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

1. zarj - 10 Февраля, 2010 - 12:41:03 - перейти к сообщению
Помогите, в коде выбивает ошибку на 4 строке:
PHP:
скопировать код в буфер обмена
  1.  
  2. //найти число предложений в тексте.
  3. $a="<title>Сайт о чем-то</title>";
  4. preg_replace("!<title>(.*?)</title>!si"," <МОЙ_ТЕГ>\\1</МОЙ_ТЕГ>",$string);  
  5. print_r($string);
  6.  
2. Champion - 10 Февраля, 2010 - 13:09:22 - перейти к сообщению
какую - не секрет?
3. zarj - 10 Февраля, 2010 - 14:29:13 - перейти к сообщению
Не происходит замены тега <title>на <Мой тег>, хотя синтаксический анализатор ошибок не выдал.
4. Champion - 10 Февраля, 2010 - 14:36:00 - перейти к сообщению
Открою секрет: результат своей деятельности функция preg_replace возвращает. И кроме того $a превратилась в $string почему-то
5. zarj - 10 Февраля, 2010 - 18:52:51 - перейти к сообщению
Спасибо! Но теперь возвращаемое значение <МОЙ_ТЕГ>Сайт о чем-то. Потерян закрывающийся тег </МОЙ_ТЕГ>.
6. Champion - 11 Февраля, 2010 - 08:42:14 - перейти к сообщению
Он не потерялся: посмотри исходный код получившейся страницы
7. zarj - 11 Февраля, 2010 - 23:12:04 - перейти к сообщению
Да, все сработало!Спасибо! Но фишка в том, что если в закрывающемся теге</МОЙ_ТЕГ> вместо правого слэша написать любой другой символ, то этот другой символ отображается. Например, <\МОЙ_ТЕГ>или <&МОЙ_ТЕГ>.
В чем дело?
8. Champion - 12 Февраля, 2010 - 09:18:59 - перейти к сообщению
дело в том, что когда ты так делаешь, это перестает быть тэгом и отображается как текст.
9. zarj - 13 Февраля, 2010 - 22:02:28 - перейти к сообщению
Еще раз спасибо! Хотя не совсем понятно, если это открывающийся тег, то его видно, а звкрывающийся тег не видно.
10. Champion - 14 Февраля, 2010 - 08:57:33 - перейти к сообщению
zarj пишет:
если это открывающийся тег, то его видно
А открывающийся тэг и был текстом. Напиши там латиницей - и его не увидишь.
11. zarj - 16 Февраля, 2010 - 22:38:31 - перейти к сообщению
Еще раз, спасибо.

 

Powered by ExBB FM 1.0 RC1