如何在PHP中根据项数组追加字符串到字符串


How append string to string in PHP based on an array of items

我正试图制作一个脚本来扩展Zend返回的SQL视图并格式化此SQL代码,所以我想将"'n"插入mysql的保留字,并将"'n"answers"'t"插入表名称,字段名称等…

E。g(简而言之,我使用了更多的保留词来匹配):

$sql = "SELECT * FROM `table` WHERE `field` = 'value';";
输出:

<>之前选择*从表格在哪里Field = 'value';之前

我可以对str_replace做很多调用,但我需要这样的:

$sql = array('SELECT', 'FROM', 'WHERE', ... );

在$sql变量中返回"'nSELECT", "'nFROM", "'nWHERE"

其他字符我已经处理过了,问题是mysql保留字

什么线索吗?我尝试preg_replace,但它仍然删除匹配。

你可以试试这个

$keywords = array(
    "select",
    "update"
); //etc
$sql = SELECT * FROM`table`WHERE`field` = 'value';
$tokens = explode(" ", $sql);
foreach($tokens as $token)
    {
    // if token in $keywords print 'n along with value else print as it is ..
    if (in_array($token, $keywords))
        {
        echo $token . "'n";
        }
      else
        {
        echo $token;
        }
    }