Имеем строку к примеру:
Описание работы 4
[gallery ids="781,780"]
Отсюда нужно достать IDшники
Я пытаюсь получить их c помощью следующего выражения:
$ids = preg_replace('@.*\[gallery ids="([0-9,]+?)"]@m', '$1', $post->post_content);
В моем понимании должно получиться 781,780, но что-то пошло не так... Я понимаю проблема в переносах строки, но флаг m я использую. В общем у кого есть версии, что не так? :)
Если я правильно понял, то Вам нужно так (если только один ИД):
preg_match('/\[gallery ids="([^"]+)"\]/', $input_line, $output_array);
В $output_array[1] будет 781,780 или если несколько
preg_match_all('/\[gallery ids="([^"]+)"\]/', $input_lines, $output_array);
то в $output_array[1] будут все ИД
preg_replace - он заменяет в тексте по регулярному выражению, т.е. делает совсем другое
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости