Добрый вечер.
Можете подсказать как в регулярке вырезать первый и последний символ? Вот допустим есть такая регулярка:
preg_match_all('/[\:]{1}[\w\-]{1,}[\:]{1}/i', ':blah-blah-blah-blah:', $print, PREG_SET_ORDER);
print_r($print);
Выводится:
Array
(
[0] => Array
(
[0] => :blah-blah-blah-blah:
)
)
т.е. чтоб выводилось без двоеточия.
Выделите скобками:
[\:]{1}([\w\-]{1,})[\:]{1}
^ ^
Затем:
preg_match_all('/[\:]{1}([\w\-]{1,})[\:]{1}/i', ':blah-blah-blah-blah:', $print, PREG_SET_ORDER);
print_r($print);
Получится:
Array
(
[0] => Array
(
[0] => :blah-blah-blah-blah:
)
[1] => Array //то что нужно:
(
[0] => blah-blah-blah-blah
)
)
N.B. Можно упростить до:
[\:]([\w\-]+)[\:]
{1}
- в принципе не нужны, a {1,}
можно заменить на +
Средствами PHP:
Воспользуйтесь функцией trim, она удаляет указанные символы с начала и конца строки
trim(':blah-blah-blah-blah:',':')
В php для этого есть просмотр вперед и назад:
/(?<=:)[\w\-]+(?=:)/
[\w\-]+
- подстрока, которая вам нужна,
(?<=:)
- символ двоеточия до подстроки (он не захватывается в результат),
(?=:)
- символ двоеточия после подстроки (он не захватывается в результат).
Пример работы https://regex101.com/r/M3y0ZK/1
P.S. Правда в таком виде будет и такой захват https://regex101.com/r/M3y0ZK/2
Доброго времени сутокХотел сделать более-менее простенького бота, с использованием Laravel 5
в переменную html вообще не записывается ничего var_dump - bool(false), что это может быть ?