在PHP中删除部分字符串

时间:2010-06-09 21:33:58

标签: php mysql sql

我正在尝试查询:

SHOW TABLES;

将显示一堆带有chat_前缀的表。我想从字符串中删除chat_前缀,格式化变量(带链接),然后显示它。

这是如何完成的?

4 个答案:

答案 0 :(得分:3)

不知道你的意思是“链接”。遍历您的表并将“chat_”替换为空字符串以删除前缀:

$formatted_table_name = str_replace("chat_", "", $table_name);
//... do something
$link = '<a href="#">' . $formatted_table_name .'</a>'; //add to link

答案 1 :(得分:2)

您可以使用以下命令删除SQL中的chat_前缀:

SELECT REPLACE(t.table_name, 'chat_', '') 
  FROM INFORMATION_SCHEMA.TABLES t
 WHERE t.table_schema = 'your_db_name'
   AND t.table_name LIKE 'chat_%'

参考:

答案 2 :(得分:0)

这应该完成整个工作:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if($result = $mysqli->query("SHOW TABLES")){
    while($row = $result->fetch_row()){
        echo '<a href="link_target">'.str_replace('chat_', '', row[0]).'</a>';
    }
}

由于没有带有“SHOW TABLES”数组的标准列名,我使用了fetch_row()函数而不是fetch_assoc()函数。

答案 3 :(得分:0)

这显示了如何在PHP方面进行解析:

<?php
    @$db = mysql_pconnect('server', 'user', 'password') or die('Error: Could not connect to database: ' . mysql_error());
    mysql_select_db('database_name') or die('Error: Cannot select database: ' . mysql_error());
    $query = "SHOW TABLES";
    $result = mysql_query($query) or die('Error: ' . mysql_error());
    $num = mysql_num_rows($result);
    for ($i = 0; $i < $num; $i++)
    {
        $row = mysql_fetch_assoc($result);
        $table = $row['Tables_in_database_name'];
        $table2 = str_replace("chat_", "", $table);
        $link[] = "<a href=\"http://whatever\">" . $table2 . "</a><br />";
    }
    print_r($link);
?>