Нужна помощь в модификации плагина Wordpress. Мне просто нужно знать, как удалить или заменить последние 4 символа из строки PHP? - PullRequest
1 голос
/ 06 апреля 2019

Моя проблема в том, что я пытаюсь изменить плагин Wordpress (Comic Easel) без полного знания PHP. В любом случае, я хотел сделать мобильные / вертикальные версии моего комикса (потому что мой в горизонтальном формате), поэтому я сделал альтернативные версии комиксов, скажем http://example.com/comic1m.jpg

Теперь вот код:

$thumbnail = wp_get_attachment_image_src( $post_image_id, $size, false);

Для этого нужно получить URL-адрес изображения, прикрепленного к сообщению, и создать из него переменную. Например, $ thumbnail теперь будет:

$thumbnail = "http://example.com/comic1.jpg"

Что я хочу сделать, так это назначить другое $ mthumbnail, используя wp_get_attachment_image_src, как с $ thumbnail, за исключением того, что m добавлено в конце (или заменяет последние 4 символа), так что http://example.com/comic1.jpg превращается в http://example.com/comic1m.jpg

$thumbnail = "http://example.com/comic1.jpg"
$mthumbnail = "http://example.com/comic1m.jpg"

Другая проблема заключается в том, что URL-адреса изображений могут иметь различную длину и формат файла, поэтому я подумал, что замена четырех последних символов - лучшее решение. Если есть способ закодировать его так, чтобы он мог различать форматы файлов, удалите / замените строки, а затем добавьте обратно m и формат файла, что было бы здорово.

1 Ответ

0 голосов
/ 06 апреля 2019

Вы можете сопоставить точку и расширение (1+ слова, используя символы \w+ или jpg точно) в конце строки.

Тогда вы можете использовать preg_replace и замените на m$0, где $ 0 означает полное совпадение.

$thumbnail = "http://example.com/comic1.jpg";
$mthumbnail = preg_replace('/\.\w+$/', "m$0", $thumbnail);
echo $thumbnail; // http://example.com/comic1m.jpg

Regex demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...