$comments
この行を使用して、文字列内のすべての画像を変更しています。
$comments = preg_replace("{<img\\s*(.*?)src=('.*?'|\".*?\"|[^\\s]+)(.*?)\\s*/?>}ims", '<a class ="gallery"rel="'.$pagelink.'"href=$2><img $1src=$2 $3 name= $2 $3 /></a>', $comments);
これは魅力のように機能し、それを包み込み、<a>
いくつかのものを追加します。ここで、src パスを変更する必要があります。
"mcith/mcith_"
文字列内のすべての画像に追加したい。私はdom関数を見ましたが、それは本当にうまくいかなかったようです。
画像パスは次のようになります: "/uploads/userdirs/admin (可変ディレクトリはユーザーごとに変更されます)/image.jpeg"
これにしたい:「/uploads/userdirs/admin/mcith/mcith_image.jpeg」
同様の質問で、pathinfoを使用して答えを得たので、これをやってみました:
if (preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $comments, $image) ) {
$imagedir = $image['src'];
$pathchange = pathinfo($imagedir);
$comments = $pathchange['dirname'] . '/mcith/mcith_' . $pathchange['basename'];
}
しかし、それは私の文字列全体、テキストなどすべてを台無しにするので、私が望むようには機能しません。解決策は preg_replace 行にあると思いますが、その行の src に何かを追加する方法がわかりません。