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>";
所以我的代码是这样的:
$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>";