2012-04-20 3 views
1

Я пытаюсь манипулировать дорожкой к изображению с помощью php. Путь имеет переменную userdirectory в нем, поэтому я борюсь с тем, как писать это.взрыва строки с переменной

Ive имел обыкновение делать:

$texthtml = $content; 
if (preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $texthtml, $image)) { 
$promopic = $image['src']; 
} 

найти, если есть изображение в моем содержании и сделать переменную из него. это работает, но мне нужно изменить свой код для загрузки изображения из каталога миниатюр по причинам pageload.

изображение ЦСИ выглядит следующим образом: "/uploads/userdirs/admin(variable)/image.jpg"

Но я хочу, чтобы это было так:

"/uploads/userdirs/admin(variable)/mcith/mcith_image.jpg"

добавление/mcith/и mcith_prefix к изображению. Я думаю, взрываю его, но я не знаю, как это сделать с переменным путем. Любые указатели очень оценили!

+0

Обязательные не может разобрать HTML с регулярными выражениями комментария , –

+0

@Dotmister Пожалуйста, избегайте таких комментариев. Они служат только для создания шума. – Sampson

+0

@Havihavi Вы хотите * взорвать * (что означает разбиение на части, приводящее к массиву), или просто * заменить * часть своего содержимого, чтобы привести к новой строке? – Sampson

ответ

1

Вы можете сделать это много различных способов, но я бы, вероятно, использовать pathinfo() для этого:

$path = pathinfo($promopic); 
$thumb = $path['dirname'] . '/mcith/mcith_' . $path['basename']; 
+0

Отлично работает! я должен прочитать на pathinfo. потрясающий материал, спасибо =) – Havihavi

+0

@Havihavi: Рад, что я мог бы помочь. :-) – FtDRbwLXw6

0

очень простой вариант, может использовать улучшение

preg_replace('/\/([a-zA-Z0-9]+\.[a-zA-Z0-9]{3,4})$/', '/mcith/mcith_$1', '/uploads/userdirs/admin(variable)/image.jpg'); 
Смежные вопросы