1

我必须替换大约 2 000 个文件中的一段文本,并用 include('myText.php'); 替换它。

这里的问题是,它在一个 html 文件中。在那种情况下,我还需要将 php 标签放入其中,但我没有找到办法。

这是我的代码

$start = "<is_comment>";
 $end = "</is_comment>";

 $startChain = strpos($fileContent, $start);

 $endChain = strpos($fileContent, $end) + strlen($end);


 $text = substr($fileContent, $startChain, $endChain - $startChain);
 //echo htmlspecialchars($text);

 $content = str_replace($text, "<?php include('showISComment.php?project=$project'); ?>", file_get_contents($file));

在我这样做的 php 文件中,当我放置 php 标签时,它不会将其识别为文本,而是自动识别为标签。

谢谢


你应该能够从任何应用程序运行相同的 SQL 命令,真的。这是假设:

  • 您正在从 C# 应用程序连接到 Access
  • DB1tblClient是一个本地访问表
  • DB2tblClient是Access中的链接表

鉴于这些,您可以尝试以下方法:

using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Stuff\MyAccessdb.mdb"))
{
    conn.Open();

    using (OleDbCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = "INSERT INTO DB1tblClient SELECT * FROM DB2tblClient";
        cmd.ExecuteNonQuery();
    }
}

如果您无法正确获取连接字符串,您可能需要检查connectionstrings.com ,并且您可能需要为使用这些提供程序的连接安装一些组件(MDAC 或 ACE)。

4

1 回答 1

0

举个例子(根据要求),我假设声明了一个函数,showISComment.php其中获取 astring并返回"true"or "false"

// showISComment.php
function isComment($project) {
    if (...) {
        return "true";
    } else {
        return "false";
    }
}

现在在您的代码中,执行以下操作:

require_once("showISComment.php");
// ...
$replace_text = isComment($project);
$content = str_replace($text, $replace_text, file_get_contents($file));
于 2013-02-14T15:48:00.180 回答