php - шаблон регулярных выражений - PullRequest
0 голосов
/ 15 августа 2010

Мне нужно использовать шаблон регулярных выражений, но каков правильный php "decode".мой шаблон «похож» на BBcode, то есть «что-то» может быть «любой длины», но в действительности я сомневаюсь не более 10 символов / цифрКаков правильный синтаксис php для "unscrambe", то есть

if ($row->xyz =['something'] ): 
   do this 
else: 
   do that 
endif;

Заранее спасибо

1 Ответ

1 голос
/ 15 августа 2010

Базовое регулярное выражение для соответствия тегам стиля BBCode будет выглядеть примерно так:

preg_match('/\[[\/]?[A-Za-z0-9]+\]/', $row->xyz)

Это будет соответствовать всему, что начинается с «[», заканчивается «]» и имеет один или несколькобуквенно-цифровые символы в середине (с необязательным «/» для конечного тега.) Обратите внимание, что у него есть недостатки - например, если у вас есть вложенный «[...]» в большем «[...]»,это только захватит внутренний.(т.е. [foo [bar]] вернет только «[bar]».)

Пример:

<?php 
    $regexp = '/\[[\/]?[A-Za-z0-9]+\]/';
    $testString = '[i]An italic string with some [b]bold[/b] text.[/i]';
    preg_match_all($regexp, $testString, $result);
    print_r($result);
?>

Результат:

array(1) {
    [0]=> array(4) {
        [0]=> string(3) "[i]"
        [1]=> string(3) "[b]"
        [2]=> string(4) "[/b]"
        [3]=> string(4) "[/i]"
    }
}

Конечно, яЯ не уверен, что это то, что вы на самом деле имеете в виду , что вы хотите сделать, но это то, что вы говорите, что хотите сделать.Вы уверены, что хотите найти BBCodes, а не найти строки, заключенные в них?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...