【问题标题】:Replace static string with array results?用数组结果替换静态字符串?
【发布时间】:2016-12-04 15:01:00
【问题描述】:

我的 html 页面上有一个数组(mysql datafetch 返回)和一个静态字符串。

{result}

我定义了一个函数来将变量传递给我的 html 页面,但如果数组失败:

$this->page = str_replace("{".$ident."}", $var, $this->page);

$this->page 是html页面的完整内容,通过file_get_contents()获取;有什么想法吗?

$page 只是一个静态 html 页面:

<h1>Test</h1>
{var}

【问题讨论】:

  • 我们需要更多代码。发布“page”和其他属性、数组、类、“$ident”、“$var”以及您认为相关的任何其他内容的声明。
  • 你怎么知道它失败了?您收到错误消息吗? “$page”是否充满了垃圾字符?我们需要更多信息来帮助您。点击问题下方的“编辑”并添加更多信息。
  • 它只是一个静态页面(我进行了编辑)。数组是 mysql_fetch_array()。
  • “失败”是什么意思?你得到的错误结果是什么?

标签: php arrays string replace


【解决方案1】:

我将 str_replace 更改为 preg_replace 是因为我认为您可能想要这样做:

<?php
$page = htmlentities(file_get_contents('testCase.html'));
$var = "?";
$ident = "result";
$page = preg_replace( "#\{$ident\}#", $var, $page);
var_dump($page);
?>

testCase.html:

<!DOCTYPE html><html lang="en"><head></head><body>{result}</body></html>

【讨论】:

  • 在这种简单的情况下,为什么您更喜欢 preg_replace 而不是 str_replace? preg_replace 是一个昂贵的操作符,应该非常小心地使用它,尤其是当你玩替换整个 html 页面内容的危险游戏时。
  • 这正是我目前所做的。但是现在如何在占位符中插入多个值呢?
猜你喜欢
  • 1970-01-01
  • 2015-10-11
  • 1970-01-01
  • 2014-03-21
  • 2012-10-18
  • 2012-09-28
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
相关资源
最近更新 更多