preg_replace php 中的特定 sql 列

preg_replace specific sql columns in php

所以我的代码是这样的:

$sql = "SELECT * FROM LIST"
$result = $conn->query($sql);

if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {

echo "<div class=\"leftcol\"><p>".preg_replace('/\b0\b/', 'NA', $row["info"])."</p></div>
      <div class=\"rightcol\"<p>".preg_replace('/\b0\b/', 'NA', $row["stuff"])."</p></div>";

这对他们来说行得通。但是后来我 运行 遇到了需要在 $row["info"] 和 $row["stuff"] 上使用多个替换的问题。我想用另一个词替换 \b1\b 但同时替换为 \b0\b.

什么最适合这个?在 P 标签或 SQL 信息之外,是否有更好的方法?

只需在回显 html 之前进行替换,例如:

while($row = $result->fetch_assoc()) {

    $text = preg_replace('/\b0\b/', 'NA', $row["info"]);
    $text = preg_replace('/\b1\b/', 'NA2', $text);
    $text = preg_replace('/\b2\b/', 'NA3', $text);

    $text2 = preg_replace('/\b1\b/', 'NA2', $row["stuff"]);

    echo "<div class=\"leftcol\"><p>".$text."</p></div>
          <div class=\"rightcol\"<p>".$text2."</p></div>";

您可以通过给出一组模式和替换来进行多次替换:

$info = preg_replace(array('/\b0\b', '\b1\b'), array('NA', 'NA2'), $row['info']);

因此您的代码如下所示:

echo "<div class=\"leftcol\"><p>".preg_replace(array('/\b0\b', '\b1\b'), array('NA', 'NA2'), $row["info"])."</p></div>
      <div class=\"rightcol\"<p>".preg_replace(array('/\b0\b', '\b1\b'), array('NA', 'NA2'), $row["stuff"])."</p></div>";