我有数据库列内容,例如:
<table border="0" cellspacing="1" cellpadding="1" width="200" align="center">
<tbody>
<tr>
<td>
<a href="http://example.cz/cz/katalog/some_product/">
<img src="http://example.cz/article/3584/photo/some_product.jpg" />
</a>
</td>
<td>
<a href="http://example.cz/cz/katalog/some_product2/">
<img src="http://example.cz/article/3584/photo/some_product2.jpg" />
</a>
</td>
...
如果我创建一个mysql查询来获取此内容,我需要将图像源和href标记更改为另一个网站(路径相同),例如:
<table border="0" cellspacing="1" cellpadding="1" width="200" align="center">
<tbody>
<tr>
<td>
<a href="http://anotherWebsite.cz/cz/katalog/some_product/">
<img src="http://anotherWebsite.cz/article/3584/photo/some_product.jpg" />
</a>
</td>
<td>
<a href="http://anotherWebsite.cz/cz/katalog/some_product2/">
<img src="http://anotherWebsite.cz/article/3584/photo/some_product2.jpg" />
</a>
</td>
...
我试过功能:
str_replace('example', 'anotherWebsite', $content);
但没有结果。有没有其他方法来取代它?例如正则表达式?如果正则表达式可以告诉我怎么样?因为我对正则表达式不好。非常感谢。
答案 0 :(得分:2)
在常用术语上运行str_replace可能会产生意想不到的结果。你可以通过说
来更具体$content = str_replace(array('href="http://example.cz/','src="http://example.cz/'),
array('href="http://anotherWebsite.cz/','src="http://anotherWebsite.cz/'),
$content);
这样它只会替换属于href attrbute的src的值。
您可能还需要为“vs”添加规则。
答案 1 :(得分:1)
str_replace
应该有效。您确定已将新值分配给变量吗?
$content = str_replace('example', 'anotherWebsite', $content);