如何根据项目数组将字符串附加到PHP中的字符串

时间:2013-01-04 12:42:31

标签: php string replace

我正在尝试创建一个脚本来扩展Zend返回的SQL视图并格式化这个SQL代码,所以我想将“\ n”插入mysql的保留字和“\ n”和“ \ t“到表名,字段名等......

E.g(简而言之,我使用更多保留字来匹配):

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

输出:

SELECT
    *
FROM
    table
WHERE
    field = 'value'
;

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

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

在$ sql变量中返回“\ nSELECT”,“\ nFROM”,“\ nWHERE”。

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

有任何线索吗?我尝试了preg_replace但它仍然删除了匹配。

1 个答案:

答案 0 :(得分:1)

你可以试试这个

$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;
        }
    }

希望这会有所帮助..