PHP - Результат регулярного выражения [закрыт]

180
01 мая 2019, 08:00

Есть код:

<?php
$a = '<div style="text-align:center;"><!--image_begin:https://dl.site.com/20/NTQ3Nw==/Fists.jpg|--></div>';
preg_match('/image\_begin\:(.+)\|\-\-\>/', $a, $b);
print_r($b);
Array
(
    [0] => image_begin:https://dl.site.com/20/NTQ3Nw==/Fists.jpg|-->
    [1] => https://dl.site.com/20/NTQ3Nw==/Fists.jpg
)

Как избавится от [0] => image_begin:https://dl.site.com/20/NTQ3Nw==/Fists.jpg|--> ?

То есть чтобы в результате выводилось только URL искомого изображения как единственный элемент массива. Я в регулярных не знаток по этому обращаюсь к вам.

Answer 1

Как избавится от [0] => image_begin:https://dl.site.com/20/NTQ3Nw==/Fists.jpg|--> ?

Можно использовать ретроспективную и опережающую проверки - они не захватывают символы, которые участвуют в совпадениях:

$a = '<div style="text-align:center;"><!--image_begin:https://dl.site.com/20/NTQ3Nw==/Fists.jpg|--></div>';
preg_match('~(?<=_begin:).+?(?=\|-->)~', $a, $b);
var_dump($b);

Результат:

array (size=1)
  0 => string 'https://dl.site.com/20/NTQ3Nw==/Fists.jpg' (length=41)
Answer 2

http://php.net/manual/ru/function.preg-match.php почитайте про функцию. Сама регулярка тут не причем. Если вы хотите другой массив. Создайте его из $b[1]

READ ALSO
Сессия php при авторизации

Сессия php при авторизации

Разбираюсь с сессиями phpСуть такая: я авторизовался на сайте, далее меня перекидывает на другую страницу (main

172
Удалить папку с файлами php

Удалить папку с файлами php

Подскажите пожалуйста, есть папка с файлами, путь такой /home/hostru/siteru/uploads/task/2/117/ Как удалить данную папку php?

151
Работа со временем в Laravel

Работа со временем в Laravel

Как правильно делать запросы с whereDate в laravel?

153
Авторизация на outlook через curl php

Авторизация на outlook через curl php

Как реализовать вход через outlook через Curl на phpЯ новичок в этом вопросе

181