-2

例如,我在数据库列内容中有:

<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);

但没有结果。有没有其他方法可以替代它?例如使用正则表达式?如果正则表达式是你能告诉我的方式吗?因为我不擅长正则表达式。真的谢谢。

4

2 回答 2

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 属性的 src 一部分的值。

您可能还必须为 ' vs " 添加规则。

于 2013-07-17T06:57:20.617 回答
1

str_replace应该管用。您确定将新值分配给变量吗?

$content = str_replace('example', 'anotherWebsite', $content);
于 2013-07-17T06:51:11.897 回答