在进入 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 之前从字符串中删除特定文本的主要内容,如果未能解决你的问题,请参考以下文章