繁体   English   中英

使用preg_match查找指定的字符串?

[英]Use preg_match to find a specified string?

我在数据库中有一个很大的表(55MB),其中包含某些内容的数据。 每个字段都有自己的ID和描述字段。 我想做的是用PHP获得描述值。 好吧,我能做。 但是,当我尝试查找并替换某些“单词”时,问题就来了。

描述值可以如下:

连接超时,错误消息$ s1。

现在,这个“ $ s1”几乎可以是任何东西。 但是我想从描述字段中找到每个以“ $”开头的单词,并将其替换为正确的值。 在这种情况下,我想找到$ s1部分,然后将其设置为数组,然后将其替换为实际值。 例如$ s1593,$ d30,$ s2,$ a,$ r,$ z,$ o4 ...等。 基本上,$ s之后的数字可以在1到70000之间变化。如果有人可以将我指向正确的方向并教给我一些课程,则可以放置其余值。

哦,描述值也可以是:

$ o52与$ d2 $ s952的连接失败。

表imo非常烦人,但无法执行。 我只是无法编辑表格中的每个字段(51,000个字段)。

最诚挚的问候

编辑:这是示例代码!

include "../config.php";

function getErrorValue($id)
{
   if (empty($id) || $id == 0)
   {
      return 0;
   }

   mysql_select_db("$database", $connect);
   $query_geterrordata = mysql_query("SELECT * FROM dbc_error WHERE id='$id'");
   while ($row_geterrordata = mysql_fetch_array($query_geterrordata))
   {
      if (!empty($row_geterrordata['field170']))
      {
         $temp_err = $row_geterrordata['field170']; // description field
         //$err = preg_match   don't know how to continue here
      }
   }

   if (!empty($err))
   {
      return $err;
   }
   else
   {
      return "Error fetching the code.";
   }
}

这将拉出所有以$开头的变量:

preg_match_all('/(\$[^ ]+)/', $temp_err, $matches);
print_r($matches[1]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM