【问题标题】:Format string to HTML in C#在 C# 中将字符串格式化为 HTML
【发布时间】:2013-03-12 10:23:46
【问题描述】:

因此,我正在使用 Unity 编写游戏,并向玩家发送一封电子邮件,其中包含他们玩游戏的所有统计数据。我发送电子邮件的方式是格式化一个字符串,该字符串已经编写了替换说明符 $_table 的 html,以插入我需要发送到服务器上的 php 脚本的数据,该脚本向用户发送电子邮件。所有这些都有效。

我在发送图片链接时遇到了问题。由于我在C# program 中执行此操作,因此我很难使用<img src ="example.com/example.png"/> 标签。

当它发送时,它以<img src=\"example.com/example.png\"/> 格式发送它并且不显示图像。

如何在 C# 中正确发送此字符串?

我已经尝试过" 并使用@"""" 来格式化字符串。

感谢任何和所有的帮助。

::编辑:: 已更新代码。

所以在我的 C# 代码中,我从一个 txt 文件中读取我的基本 html。问题是 当我用其中有 img 标签的表格替换时。

我有一个发送表单的电子邮件功能 SendEmail。在形式上它有一个 message 参数,它只是一个字符串。这个表单被发送到一个 php 脚本 从表单发送到电子邮件。

//统一代码

public static void SendEmail(string _email, string subject, string message)
{


    if(CheckEmail(_email))//Checks if valid email form
    {
        WWWForm form = new WWWForm();
        form.AddField("from", "example@example.com");
        form.AddField("email", _email);
        form.AddField("subject", subject);
        form.AddField("message", message);

        WWW web = new WWW("http://www.example.com/_email.php", form); //Unity class for various web functions 

    }

    else
    {
        label.text = "Invalid Email";
    }
}

我发送的消息是一个带有 img 链接的表格,这些链接由字符串变量引用以提高可读性。

public static string GetFormatedMetricTable(){
int time = 0;
string clockIcon = "<img src = &quot;http://files.softicons.com/download/web-icons/web- grey-buttons-by-axialis-team/png/48x48/Clock.png&quot;/>";

return "<table><tr><td>" + time + clockIcon + "</td></tr></table>";
}

上面的代码在这个例子中有所减少,但只是内容方面。

在我的 php 代码中,我使用一个简单的邮件功能从我的 smtp 服务器发送电子邮件。

问题出在双引号的字符串格式上。

在我收到的电子邮件中的 html 代码中查看 /" 导致图像不显示。

想要的结果http://subligaming.com/example.html

注意:使用 Mono .Net

这是我的 php 代码。

<?php
$from = $_REQUEST['from'];
$name = $_REQUEST['name'];
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;

// $newMessage = str_replace("&quot;", '$_"', $message);
// $newerMessage = str_replace("$_", "", $newMessage);


$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: Subliminal Gaming <$from>\r\n";
mail($email, "$subject",
$message, $headers );
echo "Thank you for using our mail form";
?>

我目前正在阅读字符串文字在 php 中的工作方式,这可能是问题所在,但我不知道如何解决它。有什么指点吗?

【问题讨论】:

  • 需要更多信息。什么从另一边传来?生成的 HTML 是什么样的?图像路径是相对的而不是绝对的吗? C#程序和标签有什么关系?
  • 你能分享一下你到目前为止尝试过的代码吗?
  • 最简单的做法是不要在标签内使用双引号",使用单引号'&lt;img src ='example.com/example.png'/&gt;
  • 应该在哪里显示图像?什么显示而不是图像?您可以发布应该执行此显示的代码吗?
  • 我是否正确理解您正在以编程方式编辑 php 脚本,然后使用该脚本将信息通过电子邮件发送给用户?

标签: c# php html string formatting


【解决方案1】:

尝试在html标签中使用简单的引号

<img src ='example.com/example.png'/>

【讨论】:

  • 不幸的是,这也不起作用。我相信这是因为我没有打印出字符串,所以当它被发送到 php 时,php 将它解释为 /' 而不仅仅是 '
猜你喜欢
  • 2010-09-26
  • 1970-01-01
  • 2017-10-21
  • 1970-01-01
  • 1970-01-01
  • 2017-06-21
  • 1970-01-01
  • 2021-05-10
  • 1970-01-01
相关资源
最近更新 更多