在字符串中查找文本并向其中添加其他文本

时间:2014-04-07 23:07:54

标签: php mysql

在我的MySQL数据库中,我有一个格式为TEXT的字段   在其中一些列中,它将包含

  

SRC =" /images/imgname.jpg"

当我从数据库中提取数据时,如何找到此文本并在" / images"之前添加其他文本?

  

SRC ="的 http://domain.com /images/imgname.jpg"

我不想让它在数据库中永久存在,因为不同的文件有不同的需求。有些人不需要绝对路径,而有些人则需要绝对路径。我只是想从一些文件中即时添加它们。

谢谢! 瑞克

3 个答案:

答案 0 :(得分:1)

你可以把它放在一个带有mysql_fetch_array()的while循环中。

$query = "SELECT query to select the wanted details from the database table.";

$result = mysqli_query($link, $query);

while ($row = $mysqli_fetch_array($result)) {
     echo "<img src='/domain.com/images/".$row['image_location']."'>";
}

答案 1 :(得分:0)

一个简单的str_replace()可以做到这一点:

$value = 'src="/images/imgname.jpg"'; // Or whatever you fetched from the database
$value = str_replace('src="/images', 'src="http://domain.com/images', $value);

这样所有出现的内容都将被删除,即使它是较大文本块的一部分。使用正则表达式是过度的。

答案 2 :(得分:0)

如果您要替换代码中的所有图片,建议您使用正则表达式preg_replace

以下是一个例子:

$code =
    '<img src="/images/imgname.jpg" />'.
    '<img src="/images/anotherimage.png" />';

$pattern = '/src="\/images\/(\w+)\.(jpe?g|png|gif)"/i';
$replacement = 'src="http://domain.com/images/$1.$2"';

echo preg_replace($pattern, $replacement, $code);

结果是:

<img src="http://domain.com/images/imgname.jpg" />
<img src="http://domain.com/images/anotherimage.png" />