Цитата Sestrichka:
Объясни, пожалуйста, что эта строчка означает? »
|
У меня тот пример, что я привел работает... В переменной
$pattern, которую я назвал так чтоб тебе было легче сравнить со справкой, у меня
(?s).*?hook_SmilizeContent_id.*?>(.*?)</DIV>.* поэтому
\1 возвращает 1 групировку, тоесть то что у меня первое по счету слева направо заключено в скобки
( (?s) не учитывается, ибо означает искать во всем тексте, а не только в первой строчке), а это
(.*?), если б еще дальше я поставил что то в скобки, то это была бы 2 групировка, и соответственно для возвращение её нужно было бы в функции
StringRegExpReplace ( "test", "pattern", "replace", [ count ] ) на место
"replace" поставить
\2. Это можно прочитать в справке к данной функции. Поэтому моя идея така, что
(.*?) возвратит именно текст нового сообщения, который находится между теми указателями, что ты указала, и по-моему так и должно быть, и не понятно почему у тебя не работает, я ж только идею дал, поэтому ты можеш подстроить под себя...
Дальше: после того как в переменную
$sRezultat будет занесен текст сообщения, он будет с "мусором", которым может быль например ссылка на смайлик заключенный в
<> поэтому я и остсеиваю такой мусор при помощи
$sRezultat2=StringregExpReplace($sRezultat,"(?s)(<.*?>)", " "), и при этом тот текст который хранится в переменной
$sRezultat будет проанализирован, и все нахождения любого текста, заключенного в
<>, будут заменены просто на
пробел.