這裏是你需要的東西:
$content = '[side_section poster="image.jpg" position="left" bgrepeat="no-repeat" bgcolor="#f6f6f6" paddingtop="70" paddingbot="70" txtcolor="" ]';
$newContent = (string) preg_replace('/="([^"]*\.(?:png|jpeg|jpg|gif|bmp))"/', '="./images/placeholder.png"', (string) $content);
echo $newContent;
使用的正則表達式是:="([^"]*\.(?:png|jpeg|jpg|gif|bmp))"
你可以在這裏測試它:DEMO
但是,你用它來替換你的圖像路徑字符串應該是這樣的:'="./images/placeholder.png"'
作爲替代使用此功能:
function replaceImg($content, $path)
{
return (string) preg_replace('/="([^"]*\.(?:png|jpeg|jpg|gif|bmp))"/', '="'.$path.'"', (string) $content);
}
例如:
$content = '[side_section poster="image.jpg" position="left" bgrepeat="no-repeat" bgcolor="#f6f6f6" paddingtop="70" paddingbot="70" txtcolor="" ]';
echo replaceImg($content, './images/placeholder.png');
輸出
[side_section poster="./images/placeholder.png" position="left" bgrepeat="no-repeat" bgcolor="#f6f6f6" paddingtop="70" paddingbot="70" txtcolor="" ]
例如2:
$content = 'position="left" poster="image.jpg"';
echo replaceImg($content, './images/placeholder.png');
輸出
position="left" poster="./images/placeholder.png"
你能提供一些示例URL和SH我們期待什麼? – 2014-09-28 22:46:08
當我看到'(?[!=「)'時,我很擔心。嘗試使用像regex101.com這樣的在線工具。我也有點擔心你製作的隨機類型劇集。 – HamZa 2014-09-28 22:48:34
我知道我是我的形象永遠是這樣的:'[... =「image.jpg」...]' – freaky 2014-09-28 22:49:57