如何将mysqli_fetch_assoc数组添加到preg_replace

时间:2013-10-23 00:23:48

标签: php mysql

所以我有这个问题,我无法弄明白。它似乎很简单,但它根本不起作用。这是Php。

中的代码
<?php

while($row = mysqli_fetch_assoc($result)){

$title[] = "'/".($row["Name"])."/'";
$content[] = $row["Content"];

}

$arr2 = implode(" ",$content);
$replace= "some text"; 
echo preg_replace($title, $replace, $arr2);

?>

1 个答案:

答案 0 :(得分:0)

也许引用$row['Name']的引号 - 不要认为这是有效的正则表达式语法,因为$title将包含这样的值:

Array( 
    [0] => "'/yourvalue/'",
    [1] => "'/yourvalue/'",
    [2] => "'/yourvalue/'"
)

尝试:

$title[] = '/' . $row["Name"] . '/';

...那么你的数组值将是:

    [0] => "/yourvalue/"

- 编辑 - 为什么不尝试在循环中进行替换,这样每次都会替换一个实例而不是最后的每个实例。

<?php

$replace = "some text";

while($row = mysqli_fetch_assoc($result)){

    $content[] = preg_replace('/' . $row['Name'] . '/', $replace, $row["Content"]);

}

$arr2 = implode(" ",$content);
echo $arr2;

?>