gpt4 book ai didi

php - 替换双引号内的内容,包括双引号

转载 作者:可可西里 更新时间:2023-11-01 00:35:15 28 4
gpt4 key购买 nike

所以我决定尝试制作一个文本突出显示系统。目前,我只是使用 str_replace 来替换一个单词(例如 $rstr = str_replace("Console", "<c>Console</c>", $str,其中 $str 是输入字符串。

让我感到困惑的是如何替换语音标记 (") 和引号 (') 内的内容。例如,如果字符串“Console”变成 Console.WriteLine("Words"); ,我将如何用 "Words" 替换 <sr>"Words"</sr> ( <sr> 在外部样式表中定义)?

虽然我可以使用正则表达式,但是 1. 我不知道如何编写正则表达式,以及 2. 我不知道如何将正则表达式与 str_replace 一起使用。


我的解决方案:

function hlStr($original)
{
$rstr = explode('"', $original);
return $rstr[0].'<sr>"'.$rstr[1].'"</sr>'.$rstr[2];
}

最佳答案

根据下面的评论,我认为这将是一个更好的资源:http://www.regular-expressions.info/

为了找到“anything can go here”,您应该使用正则表达式。这就是它们的用途。一个正则表达式可能看起来像这个问题的答案:

How can I match a quote-delimited string with a regex?

那么您将使用函数 preg_replace()像这样:

$return_value = preg_replace('/"[^"]+"/', 'replacement text', $str)

不管怎样把它留在这里:

用反斜杠转义内容:

$rstr = str_replace("Console", "Console.WriteLine(\"$variable\");", $str)

如果您在字符串中使用变量,这将非常有用。如果只是纯文本替换,使用单引号:

$rstr = str_replace("Console", 'Console.WriteLine("Words");', $str)

单引号将除单引号以外的所有内容都视为一个字符。

关于php - 替换双引号内的内容,包括双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10046778/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com