В PHP я пытаюсь добиться, чтобы изменить строку:
<img class="alignnone size-medium wp-image-18" src="http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149">
к этому:
<img class="alignnone size-medium wp-image-18" src="" data-path="http://localhost/wp-content/uploads/2015/02/" data-img="300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149">
Я хочу использовать
preg_replace('/src="(what-is-a-path-regex)(.*)"/', 'src="" data-path="$1" data-img="$2"', '<img class="alignnone size-medium wp-image-18" src="http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149">')
Какое регулярное выражение заменяет регулярное выражение wat-is-a-path-regex?
Это должно работать: (https?:\/\/.+\/)(.+)
, Пример доступен Вот.
Как говорится, вы должен Посмотрите, возможно ли объединить этот подход с анализом DOM, чтобы вы могли сначала извлечь нужное свойство.
Вы можете попробовать ниже,
preg_replace('~src="(.*?\/)([^/"]*)"~', 'src="" data-path="\1" data-img="\2"', '<img class="alignnone size-medium wp-image-18" src="http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg" alt="jquerymobile" width="300" height="149">');
[^/"]*
класс отрицанных символов, который соответствует любому символу, но не "
или же /
ноль или более раз.