我遇到了麻烦,而我从数据库中提取的字符串如下所示
$string = 'The person name Abdul <img src="images/abdul.jpg" alt="abdul"/>.....';
我需要将其更改为
$string = 'The person name Abdul <img src="../../images/abdul.jpg" alt="abdul"/>.....';
如何使用PHP解决这个问题?
答案 0 :(得分:5)
虽然不是最优雅的解决方案,而且还有更多的解决方案,但您可以使用PHP的str_replace
并执行此类操作。
<?php
$string = 'The person name Abdul <img src="images/abdul.jpg" alt="abdul"/>.....';
$string = str_replace('src="images/', 'src="../../images/', $string);
echo $string;
?>
注意:我在图像部分前面添加src="
的唯一原因是为了帮助消除图像可能被错误命名的可能性。你可以改用它。
$string = str_replace('images/', '../../images/', $string);
我建议不要将数据库中的项目保存为相对路径。只保存图像名称,甚至更好地保存图像的完整URL并回显它。对于大数据(使用CDN等)来说,它更清晰,更强大。
答案 1 :(得分:0)
正确的方法是永远不要将您的DOM 保留在数据库中。
您可以保留##IMAGE_BASE_PATH##/adbul1.jpg
之类的内容以及在浏览器中呈现页面时的内容....
$image = str_replace('##IMAGE_BASE_PATH##','../../images', $string);
<img src="$image" />
(很多方法可以做到这一点,上面就是其中之一)
这有很多很好的理由。有些是: