-1

所以我有这个我无法弄清楚的问题。这似乎很简单,但它根本不起作用。这是 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);

?>
4

1 回答 1

0

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

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

尝试:

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

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

    [0] => "/yourvalue/"

--edit--为什么不尝试在循环期间进行替换,这样您每次都将替换一个实例,而不是最后的每个实例。

<?php

$replace = "some text";

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

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

}

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

?>
于 2013-10-23T00:32:52.523 回答