在进入 MYSQL 之前从字符串中删除特定文本

Posted

技术标签:

【中文标题】在进入 MYSQL 之前从字符串中删除特定文本【英文标题】:Removing specific text from string before entrance into MYSQL 【发布时间】:2012-04-27 16:49:27 【问题描述】:

大家好,我有一个 php 数组,它来自一个带有 2 组数据的 rss 提要。标题和描述。

(数组打印示例,我想编辑数组中的所有描述项,而不仅仅是一个索引)

[2] => ('Remembrance','Release Date: Thursday 19th April 2012')

如何操作描述字符串以在“发布日期:”进入 mysql 表之前删除它?

这是我的另一个代码:

$rss = simplexml_load_file('rss.xml');
$title = $rss->xpath('//title');  //finding the title tags in the xml document and loading into variable
$description = $rss->xpath('//description');

$rows=array();

foreach($result as $title)
  $rows[]="('".mysql_real_escape_string($title)."','".mysql_real_escape_string(array_shift($description))."')";

mysql_query("INSERT INTO Films (Film_Name, Film_Release) VALUES ".implode(',',$rows));
print_r($rows);

【问题讨论】:

数组从何而来? 来自 RSS 提要,使用完整代码更新 【参考方案1】:

你是str_ireplace不区分大小写

例子

$rows = array ();
$array = array (); // So many array
$array [2] = array (
        'Remembrance',
        'Release Date: Thursday 19th April 2012' 
); // Sample array Value

foreach ( $array as $detail ) 
    $title = $detail [0];
    $desc = str_ireplace ( "Release Date:", "", $detail [1] );
    $desc = rim($desc);
    $rows [] = sprintf ( "('%s','%s')", mysql_real_escape_string ( $title ), mysql_real_escape_string ( $desc )   );


mysql_query("INSERT INTO Films (Film_Name, Film_Release) VALUES ".implode(',',$rows));
print_r($rows);

【讨论】:

我将如何对所有数组进行替换,而不仅仅是索引 2? rows 数组已经填充了 200 个项目,我已经尝试过你的方法,当我去打印它时,那里什么都没有。我删除的唯一代码是 "$array [2] = array(" 位,因为这只是一个示例?【参考方案2】:

如果您只是想删除“发布日期:”字符串,请使用str_replace('Release Date: ', '', 'Release Date: Thursday 19th April 2012');

如果您的数据是动态的,请使用 preg_replace()preg_replace('#^[^\:] #', '', 'Release Date: Thursday 19th April 2012');

【讨论】:

以上是关于在进入 MYSQL 之前从字符串中删除特定文本的主要内容,如果未能解决你的问题,请参考以下文章

Python如何删除文本文件中特定字符串之后或之前的特定行数

从文本字符串中删除特定单词? [复制]

从字符串中间删除特定文本(仅从字符串末尾第一次出现)

如何删除Java中特定字符之前的所有字符?

vim操作

从字符串中删除特定 unicode 范围的字符