|
|
|
| как накладываются на эти теги всякие действия ,
как на этом сайте [code][/cod] [b][/b] и с помощью чего, | |
|
|
|
|
|
|
|
для: kvins
(17.03.2011 в 13:00)
| | Можно использовать регулярные выражения, т.е. что-то вроде
<?php
$postbody = preg_replace("#\[b\](.+)\[\/b\]#isU",'<b>\\1</b>',$postbody);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.03.2011 в 13:11)
| | как я понял первая часть это настойки ,а вторая то что надо подставить
то есть после каждой настройки надо ставить \
и еще ставить \ чтоб экранировать /
а что значит # и
(.+) (думаю что для текста , но не очень понятно как он работает почему точка с плюсом) | |
|
|
|
|
|
|
|
для: kvins
(17.03.2011 в 14:02)
| | >как я понял первая часть это настойки ,а вторая то что надо подставить
Да, первая часть называется - регулярным выражением, она ищет соответствие.
>то есть после каждой настройки надо ставить \
Обратный слеш тут выполняет экранирующую роль, дело в том, что регулярные выражения, это такой специализированный язык программирования - в нем очень много спец-символов, чтобы отменить их специальное значение или наоборот обычному символу назначить специальное значение, используется \. Его использование зависит от тех правил, которые вы программируете и от синтаксиса регулярных выаржений.
> и еще ставить \ чтоб экранировать /
Тут это избыточно, можно не экранировать, когда вы в качестве границы регулярного выражения не используете /
> а что значит # и
Это граница регулярного выражения, она может быть любой в том числе и /
>(.+) (думаю что для текста , но не очень понятно как он работает )
Да, это для текста, точка означает любой произвольный символ, + - означает повторение предыдущего символа один или более раз.
>[shrift] [/shrift] мне нужно указать на класс в css <p class="shrift"> </p> хочу чтоб при вставки
>какого нить тега у мя выводился со шрифтом который я оставил в стилях
Можно поступить так
<?php
<?php
$pattern = "#\[shrift\](.+)\[\/shrift\]#isU";
$replace = '<p class='shrift'>\\1</p>';
$postbody = preg_replace($pattern, $replace, $postbody);
?>?>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.03.2011 в 14:09)
| | получается в конце тоже граница # а почему всегда в конце пишется isU
<p class='shrift'>\\1</p> 1 ставится чтоб скрипт выполнялся только если там есть хоть 1 символ а 2 слеша для чего?
думаю 1 слеш ставиться из за #\ а вотрой так и не понял
спс остальное все понятно как выберу красивые шрифты , так сразу это применю =) | |
|
|
|
|
|
|
|
для: kvins
(17.03.2011 в 14:27)
| | >получается в конце тоже граница #
На то они и границы, чтобы ограничивать регулярное выражение со всех сторон.
>а почему всегда в конце пишется isU
Не всегда, в данном случае. Это модификаторы, которые выносятся за границы регулярного выражения. i - сообщает, что регулярное выражение не должно зависить от регистра, s - что поиск должен вестись в пределах всех строк, а не только одной, U - инвертирует жадность регулярного выражения, заставляя искать его минимальное, а не максимальное соответствие. | |
|
|
|
|