Regexp в PHP : need
а сам regexp под perl-совместимый попадает?
а если с помощью eregi делать?
а если с помощью eregi делать?
Нет. Ты слеши неправильно поставил. Второй слеш должен быть перед квадратной скобкой, а не перед круглой. Ещё, лучше вместо звёздочки использовать плюс. Или тебе нужно, чтоб [::] тоже отлавливалось?
(\[:[a-zA-Z0-9]+:\])
preg_match_all('(\[:[a-zA-Zа-яА-Я0-9]*:\])',$text,$reg) - работает
спасибо
возвращает:
Array
(
[0] => Array
(
[0] => [
]
[1] => [
]
[2] => [
]
)
)
спасибо
возвращает:
Array
(
[0] => Array
(
[0] => [
][1] => [
][2] => [
])
)
Ты забыл разделители регулярного выражения.
Надо так:
Надо так:
preg_match_all('/(\[:[a-zA-Zа-яА-Я0-9]*:\])/',$text,$reg)а слэши я здесь только неправильно поставил - опечатка
с + тоже самое получаеться
с + тоже самое получаеться
~> php -r '$a = "some [:порусски:] lsdkf [:d045c:]dlk"; preg_match_all("/(\[:\w+:\])/",$a,$b); var_dump($b);'
array(2) {
[0]=>
array(2) {
[0]=>
string(12) "[:порусски:]"
[1]=>
string(9) "[:d045c:]"
}
[1]=>
array(2) {
[0]=>
string(12) "[:порусски:]"
[1]=>
string(9) "[:d045c:]"
}
} Всё есть.
спасибо
Оставить комментарий
dasha69
Есть текст, из кототорого надо вытащить все вхождения следующего вида:[:какие-то символы:]
Пробовал что-то типа (\[:[a-zA-Z0-9]*:]\) - возвращает только первое совпадение, а в тексте их может быть несколько
very need