OBender013, Вы не на тот форум обратились с этим вопросом, попытайте счастья на оконном форуме (forum-okna.ru)
$text = 'текст1[HEADER] текст2[CUT] текст3'; $substr = preg_split("/\[HEADER\]|\[CUT\]/m",$text);
части текста будут в элементах массива $substr[0], $substr[1] и $substr[2]
Когда для меня возник такой вопрос, посмотрев что есть на эту тему в сети, я
остановился на стандарте ISO 9 (Транслитерация славянских алфавитов с возможность восстановления текста в исходном виде, система Б)
В системе А несколько символов, "неподходящих" для URL при транслитерации русского языка (в системе Б всего 1 - "`")
Вставил на сайт 2 функции на PHP (превод в транслит и обратно), но при использовнии таких адресов на сайте заменяю "`" на "%60"
С поисковиками проблем не возникает, но вот если ссылку размещают на сторонних сайтах, бывает что адрес обрезается по "`", или заменяется "`" на "~"
// функция превода текста из кириллицы в траскрипт function translite($st){ // Сначала заменяем "односимвольные" фонемы. $st=strtr($st,'абвгдезийклмнопрстуфх','abvgdezijklmnoprstufx'); $st=strtr($st,'АБВГДЕЗИЙКЛМНОПРСТУФХ','ABVGDEZIJKLMNOPRSTUFX'); // Затем - "многосимвольные". $st=strtr($st,array( 'ё'=>'yo', 'ж'=>'zh', 'ц'=>'cz', 'ч'=>'ch', 'ш'=>'sh', 'щ'=>'shh', 'ъ'=>'``', 'ы'=>'y`', 'ь'=>'`', 'э'=>'e`', 'ю'=>'yu', 'я'=>'ya', 'Ё'=>'YO', 'Ж'=>'ZH', 'Ц'=>'CZ', 'Ч'=>'CH', 'Ш'=>'SH', 'Щ'=>'SHH', 'Ъ'=>'``', 'Ы'=>'Y`', 'Ь'=>'`', 'Э'=>'E`', 'Ю'=>'YU', 'Я'=>'YA' ) ); return $st; } // функция превода текста из траскрипта в кириллицу function untranslite($st){ // Сначала заменяем "многосимвольные" фонемы. $st=strtr($st,array( 'yo'=>'ё', 'zh'=>'ж', 'cz'=>'ц', 'ch'=>'ч', 'sh'=>'ш', 'shh'=>'щ', '``'=>'ъ', 'y`'=>'ы', '`'=>'ь', 'e`'=>'э', 'yu'=>'ю', 'ya'=>'я', 'YO'=>'Ё', 'ZH'=>'Ж', 'CZ'=>'Ц', 'CH'=>'Ч', 'SH'=>'Ш', 'SHH'=>'Щ', '``'=>'ъ', 'Y`'=>'Ы', '`'=>'ь', 'E`'=>'Э', 'YU'=>'Ю', 'YA'=>'Я' ) ); // Затем - "односимвольные" $st=strtr($st,'abvgdezijklmnoprstufx','абвгдезийклмнопрстуфх'); $st=strtr($st,'ABVGDEZIJKLMNOPRSTUFX','АБВГДЕЗИЙКЛМНОПРСТУФХ'); return $st; }
P.S. похоже у меня не полностью ISO 9, там Х->H, а у меня Х->X
RewriteRule ^node1/([^/]*)$ node1/node2/node3/$1 [NC,R=301,L]
все что идет после "node1/" (если там нет "/") редиректится на то-же самое в папку "node1/node2/node3/"
попробуйте сделать замену
"# \w+ района', 'mou#"
или
"# [А-Яа-я]+ района', 'mou#"
на
"', 'mou"
Очевидно у Вас все-таки нельзя полностью избавляться от праметров в URL.
Попробуйте так:
RewriteCond %{QUERY_STRING} ^(.*)cid=[0-9]+(.*)$ [NC]RewriteRule ^(.*)$ $1?%1%2 [L,R=301]
Будет выполняться редирект, если в параметрах есть "cid=цифры" (с удалением только этого параметра).
Мне кажется вторая строчка здесь вообще не нужна, до нее дело не дойдет, ее входной адрес всегда первая строка перехватит (ведь у них он одинаковый).
Если Вы только что создали такой htaccess то может быть в следующем:
у Вас первое правило
RewriteRule ^news-(.*)$ index.php [L,QSA]
имеет два условия (что документ не файл и не каталог).
Вы в курсе, что условия относятся обычно только к одному правилу, которое стоит за ними первым ?
(т.е. ко всем остальным правилам эти условия не применяются, а если они нужны для других правил, то их нужно вставить перед каждым правилом).
Я конечно не знаю структуры Вашего сайта, может эти условия и не нужны, но вдруг...
Получается что
Redirect permanent /obzory.htm сайт/blog/obzory/
заменяет в строке
"/obzory.htm/page.htm"
"/obzory.htm" на "сайт/blog/obzory/"
и редиректит на "сайт/blog/obzory//page.htm"
Так ?
И на какой адрес нужно переадресовать /obzory.htm/page.htm ?
Не приходилось работать с
Redirect permanent
пользовался только RewriteRule
Но судя по тому, что сейчас нашел в сети, Redirect permanent не использует регулярные выражения, так что строка, что Вы привели
Redirect permanent /1.htm/1.htm сайт/blog/1/1.htm
здесь не причем (что в ней написано, то она и делает)
может есть Redirect permanent содержащий "obzory"
Или срабатывает какая-то другая строка RedirectMatch или RewriteRule
(а двойные слеши - это у Вас нормальное явление ?
сайт/blog/1//1.htm ?
)