str-replace 相关问题

此函数返回一个字符串或数组,其中主题中的所有搜索都替换为给定的替换值。

如何在PHP中的每个字符串后面添加斜杠?

我如何添加斜杠或;在每个字符串之后。这里我有一个例子: 这就是我所拥有的 “SKU”“标题”“链接”“LINK2”“价格”“魔兽世界” 但我会有那样的 “SKU”;“标题”;“链接”;“

回答 3 投票 0

将星号之间的文本设为粗体

我想制作一个 PHP 函数,使双星号之间的文本变为粗体,一个星号之间的文本变为斜体(非常像 stackoverflow 上的编辑器)。 如果有空格,则适用相同的规则

回答 4 投票 0

将 替换为空白或空字符串 PHP

嗯,我已经尝试过这些,但似乎它们都不起作用,我的示例字符串是 $text_description="      世界您好!lorel ipsum"; $

回答 4 投票 0

如何在 PHP 中替换文本字符串中的多个项目? [重复]

我希望能够用 - 替换空格,但也想删除逗号和问号。我怎样才能在一个函数中做到这一点? 到目前为止,我用它替换了空格: str_replace(" ","-",$title)

回答 1 投票 0

PHP str_replace

我有字符串 $var,我需要在其中替换一些文本。第一个“X”需要替换为“A”,第二个“X”需要替换为B等等,下面是一个例子: 我有字符串 $var,我需要在其中替换一些文本。第一个“X”需要替换为“A”,第二个“X”需要替换为B等等,这是一个例子: <?php $var = "X X X X"; // input ... echo $var //the result: "A B C D" ?> 我尝试过 str_replace 但不起作用。 谢谢 您可以使用 preg_replace 的 limit 参数仅替换一次。 <?php $var = 'X X X X'; $replace = array('A', 'B', 'C', 'D'); foreach($replace as $r) $var = preg_replace('/X/', $r, $var, 1); echo $var; ?> http://codepad.viper-7.com/ra9ulA 你可以使用preg_replace_callback(): // as many as you think you'll need, maximum. // this can be programmatically generated, if need be $replacements = array('A', 'B', 'C', 'D', 'E', 'F', 'G'); // and so on function get_replace_value($matches) { global $replacements; return array_shift($replacements); } $var = preg_replace_callback("/" + preg_quote($needle) + "/", "get_replace_value", $var); $var = 'X X X X'; $replacements = array('A', 'B', 'C', 'D'); $var = preg_replace_callback('/X/', function() use (&$replacements) { return array_shift($replacements); }, $var); 其他解决方案: $var = preg_replace('/X/', 'A', $var, 1); $var = preg_replace('/X/', 'B', $var, 1); $var = preg_replace('/X/', 'C', $var, 1); $var = preg_replace('/X/', 'D', $var, 1); 这个使用 preg_replace 的 $limit 参数(我们每次调用只替换一次出现的情况)。 不使用正则表达式 $arr = explode('X', 'X X X X'); $rep = array('A','B','C','D'); foreach ($arr as $idx=>$val) { $arr[$idx] = $val.$rep[$idx]; } echo implode($arr); 还有一个解决方案(更多用于动态数量的 X): <?php $foo = 'X X X X X X'; $Xs = preg_match_all('/\bX\b/',$foo,$_); if ($Xs === false) $Xs = 0; $alphabet = range('A', chr(64 + $Xs)); foreach ($alphabet as $letter){ $foo = preg_replace('/\bX\b/', $letter, $foo, 1); } echo $foo; 我还在模式中添加了 \b,以仅替换独立的 X,因此“FAUX PAS X”仅替换最后一个 X。 演示 alphabet_replace(更模块化的形式) 让我们也尝试一下,只是为了好玩;) $input = "X X X X"; function replace($input, array $replacements) { $replacer = function(array &$i, array &$r, &$o) use(&$replacer) { if (count($i) === 0 || count($r) === 0) return; $i_cur = array_shift($i); if (ctype_space($i_cur)) $o .= $i_cur; else $o .= array_shift($r); $replacer($i, $r, $o); }; $replacer(str_split($input), $replacements, $output); return $output; } var_dump(replace($input, range('A', 'Z'))); 其他答案中发生了很多循环,这里有一个替代方案。 $var = 'X X X X X X X'; $replace = array('A', 'B', 'C', 'D'); $var = preg_replace(array_fill(0, count($replace), '/X/'), $replace, $var, 1); echo $var; // A B C D X X X 所提出的问题没有提供替换的主列表,因此我假设替换的数量未知。 我将增加替换值,而不是使用有限数组。 请记住,如果 $find 字符串来自不受信任的来源,则应调用 preg_quote() 来转义对正则表达式引擎具有特殊含义的字符。 do-while 循环:(演示) $input = 'X X X X X X X X'; $find = 'X'; $replace = 'A'; do { $input = preg_replace("#$find#", $replace, $input, 1, $count); $replace = str_increment($replace); } while ($count); echo $input; // A B C D E F G H 递归函数:(演示) $input = 'X X X X X X X X'; function incrementalReplace($subject, $find, $replace) { $subject = preg_replace("#$find#", $replace, $subject, 1, $count); if ($count) { $subject = incrementalReplace($subject, $find, str_increment($replace)); } return $subject; } echo incrementalReplace($input, 'X', 'A'); // A B C D E F G H 滥用finally:(演示) $input = 'X X X X X X X X'; $find = 'X'; $replace = 'A'; echo preg_replace_callback( "#$find#", function() use (&$replace) { try { return $replace; } finally { $replace = str_increment($replace); } }, $input ); // A B C D E F G H 当然,上述所有技术也可以使用更向后兼容的++字符串增量。 (演示) echo preg_replace_callback( "#$find#", function() use (&$replace) { return $replace++; }, $input );

回答 8 投票 0

混合str_replace和正则表达式?

我想替换一个字符串,例如: 但我遇到的问题是值(12345)每次都不同,所以我该怎么做我要做的事情......

回答 2 投票 0

使用str_replace函数回显错误数据

我在用数字内的符号替换特定格式时遇到问题。我使用下面的编码来替换,但对我来说替换符号不起作用,结果不会出来。 $尝试=“1...

回答 1 投票 0

如何将 preg_replace 或 str_replace '][' 或 '] [' 与 'BR'

我有这样的事情: [短代码]文本[/短代码] [短代码_2]文本[/短代码_2][按钮][短代码_3]文本[/短代码_3][图像]文本 我该如何 preg_replace (或 str_replace) 我有这样的东西: [shortcode] text [/shortcode] [shortcode_2] text [/shortcode_2][button] [shortcode_3] text [/shortcode_3] [image] text 如何在每个之间插入 preg_replace (或 str_replace)以便 <br /> '][' 或 '] [' 编辑: 为了让事情尽可能清楚...... 输入: [shortcode] text [/shortcode] [shortcode_2] text [/shortcode_2][button] [shortcode_3] text [/shortcode_3] [image] text 输出: [shortcode]<br />text<br />[/shortcode]<br />[shortcode_2]<br />text<br />[/shortcode_2]<br />[button]<br />[shortcode_3]<br />text<br />[/shortcode_3]<br />[image]<br />text 使用 preg_replace_callback $r = preg_replace_callback('/\]([^\]]+)?(\[)|([^\]]+$)/', function($matches) { var_dump($matches); if (!strlen($matches[1])) { return ""; } else if (!isset($matches[1]) || !strlen(trim($matches[1]))) { return "]<br />["; } else { return "]<br />" . trim($matches[1]) . "<br />["; } }, '[shortcode] text [/shortcode] [shortcode_2] text [/shortcode_2][button] [shortcode_3] text [/shortcode_3] [image] text'); 匹配整个占位符(使用 \K 释放它),后跟零个或多个空格(除非在字符串末尾)或 在整个占位符之前匹配零个或多个空格(除非在字符串的开头),后跟整个占位符。 preg_replace_callback() 不需要。 代码:(演示) $string = '[shortcode] text [/shortcode] [shortcode_2] text [/shortcode_2][button] [shortcode_3] text [/shortcode_3] [image] text'; echo preg_replace('#\[[^\]]+]\K *(?!$)|(?!^)(?: +|(?<! ))(?=\[[^\]]+])#', '<br />', $string); 输出: [shortcode]<br />text<br />[/shortcode]<br />[shortcode_2]<br />text<br />[/shortcode_2]<br />[button]<br />[shortcode_3]<br />text<br />[/shortcode_3]<br />[image]<br />text

回答 2 投票 0

如何从PHP中的字符串中删除括号?

我有以下字符串,想使用 str_replace 或 preg_replace 删除括号,但不确定如何操作。我已经能够使用 str_replace 删除左括号,但无法...

回答 6 投票 0

用序列号替换逗号字符

代替 逗号空格 Anil、逗号空格 Sunil 等 如下图所示: 、阿尼尔、苏尼尔等 。 我想在同一行中提供序列号,例如: (1) 阿尼尔 (2) 苏尼尔等 “该程序必须做很多事情

回答 4 投票 0

PHP str_replace 用数组中的随机替换来替换 need ?

我已经研究过,需要找到用一系列可能性随机替换需求的最佳方法。 IE: $text =“欢迎来到[城市]。我希望[城市]每次都是随机版本。[城市]笑...

回答 6 投票 0

PHP - 正常替换字符串并仅反转一次

每个单词只需替换一次,反之亦然。为此,我使用了不起作用的代码,并且找不到问题的答案。 输入: 你好 w1 w2 w12 新1 新12 新2 预计

回答 4 投票 0

PHP 从字符串中删除单词(不是字符)

下面的代码的问题在于它从字符串中删除字符而不是单词。 下面的代码的问题在于它从字符串中删除了 characters 而不是 words。 <?php $str = "In a minute, remove all of the corks from these bottles in the cellar"; $useless_words = array("the", "of", "or", "in", "a"); $newstr = str_replace($useless_words, "", $str); //OUTPUT OF ABOVE: "In mute, remove ll cks from se bottles cellr" ?> 我需要的输出是:分钟,从这些酒窖中取出所有软木塞 我假设我无法使用str_replace()。我可以做什么来实现这个目标? . preg_replace将完成这项工作: $str = "The game start in a minute, remove all of the corks from these bottles in the cellar"; $useless_words = array("the", "of", "or", "in", "a"); $pattern = '/\h+(?:' . implode($useless_words, '|') . ')\b/i'; $newstr = preg_replace($pattern, "", $str); echo $newstr,"\n"; 输出: The game start minute, remove all corks from these bottles cellar 说明: 图案看起来像:/\h+(?:the|of|or|in|a)\b/i / : regex delimiter \h+ : 1 or more horizontal spaces (?: : start non capture group the|of|or|in|a : alternatives for all the useless words ) : end group \b : word boundary, make sure we don't have a word character before /i : regex delimiter, case insensitive $useless_words = array(" the ", " of ", " or ", " in ", " a "); $str = "In a minute, remove all of the corks from these bottles in the cellar"; $newstr = str_replace($useless_words, " ", $str); $trimmed_useless_words = array_map('trim',$useless_words); $newstr2 = ''; foreach ($trimmed_useless_words as &$value) { if (strcmp($value, substr($newstr,0,strlen($value)))){ $newstr2 = substr($newstr, strlen($value) ); break; } } if ($newstr2 == ''){ $newstr2 = $newstr; } echo $newstr2; 除了强制整个单词与单词边界匹配之外,还可以使用条件表达式来消耗前导或尾随空白字符(但不能同时使用两者!)。 代码:(演示) $str = "The game start in a minute, remove all of the corks from these bottles in the cellar they're in"; $useless_words = ["the", "of", "or", "in", "a"]; var_dump( preg_replace('/(\s+)?\b(?:' . implode('|', $useless_words) . ')\b(?(1)|\s+)/i', '', $str) ); 输出: string(69) "game start minute, remove all corks from these bottles cellar they're" 请注意,前导 The 加上尾随空格被删除,最后一个 in 及其前导空格被删除,all of the corks 变成了 all corks,仅由一个空格分隔。

回答 3 投票 0

PHP 修复字符串变量内的零宽度空格

我正在输出来自用户输入值的邮政编码。看起来它有时在字符串的开头输出零宽度空格 \u200b 。 更换 t 的最佳方法是什么

回答 3 投票 0

已验证信用卡号

需要一些帮助,我已经完成了,但无法让它显示或正常工作。使用 str_replace,它应该获取实际的信用卡号并从中删除 - 。 ...

回答 3 投票 0

str Replace / preg 使用数组将希伯来语单词替换为希伯来语单词

好的。所以我有一个数组,其中包含我需要在字符串中查找并替换的单词 与他们的键(数组中该单词的键)。 在英语中,这有效。 函数replace_twophrase_words($string) { $

回答 2 投票 0

PySpark 删除所有特殊字符的所有列名称中的特殊字符

我正在尝试从所有列中删除所有特殊字符。我正在使用以下命令: 导入 pyspark.sql.functions 作为 F df_spark = Spark_df.select([F.col(col).alias(col.replace(' '...

回答 4 投票 0

删除句号之前的空格? str_replace

我试图在回显文本之前删除句号和逗号之前的所有空格。 文本可能如下所示,并且到处都有空格。巴拉巴拉…… 这是我的代码,尽管它

回答 4 投票 0

php str_replace 替换自身[重复]

我需要用 [aoieu] 替换所有出现的字母 a、o、i、e、u 之一? 我尝试执行以下操作: str_replace(array('a', 'o', 'i', 'e', 'u'), '[aoieu]?', $input); 但是当给它的时候我...

回答 7 投票 0

TextPad 不替换字符和换行符

如何将 TextPad ' 中的一行替换为空(即:删除仅包含该字符的行)? 我有一个包含三列的 Excel 电子表格: A 列 - 单引号 B 栏 - 一些 nu...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.