好的,所以我不知道为什么,但是当我尝试preg_replace()
在返回的数组项上使用时,mysql_fetch_array()
我没有得到任何结果,但是如果我得到相同的结果,那么用它们制作一个数组就可以了。
例子
$pattern = '/^.*\b([0-9]{6}\s\D\d|[0-9]{6}\s\D[0-9]{2}|[0-9]{7}\s\D[0-9]{2})\b.*$/';
$replace = '$1';
while($row = mysql_fetch_assoc($result))
{
$data[] = $row['description'];
}
foreach($data as $datas)
{
echo preg_replace($pattern, $replace, $datas) . '<br>';
echo '<br>';
}
所有这一切都是不返回匹配项,但是如果我复制这些结果并将它们放入一个数组中,它工作正常,我知道这不是正则表达式,因为我在走到这一步之前测试了它。这是我在单独的数组中定义它们时工作的项目示例:
$subject = array(
"Suzuki DR100 ignition pickup. Wires to the coils have been repaired and one needs to be repaired again. 082862 S15 <img src = \">http://www.roofis27.com/motorcycle/12_08_28/061.JPG\">",
"1997 Suzuki VZ800 Marauder, Kick stand and spring. Chrome on end is starting to chip. 0121103 S19 <img src = \">http://www.roofis27.com/motorcycle/13_01_21/103.JPG\">",
"Honda 1982 VF750C Magna right-side radiator trim panel. Good, damage-free condition. Needs cut and polished. Cheap, fast shipping! 011425 H6 <img src=\">http://www.roofis27.com/motorcycle/10_01_14/030.JPG\"> n=\">",
);
foreach ($subject as $subjects)
{
echo preg_replace($pattern, $replace, $subjects) . '<br>';
}
回报:
082862 S15
0121103 S19
011425 H6
所以我的问题是如何preg_replace()
在从返回的数组上使用mysql_fetch_array()
?
或者您如何在 MySQL 中搜索和替换这些代码。
这次我一定要明确说明:
我有一个 MySQL 数据库,在 product_description 中有这些位置代码,它们都<img>
在长产品描述中的标签之前。我需要将它们放入数据库的模型列中,该列位于另一个表中。我使用 SQL 来执行此操作没有问题,但无法自行从描述中删除这些位置代码。MySQL 不允许以我知道的这种方式使用正则表达式,因此我尝试使用 php 来代替。请提供任何帮助!我真的被困住了......