替换是搜索字符串以查找子字符串并将其替换为其他字符串的操作。
我不是专业人士,但我正在尝试在 WordPress 中使用 webp 图像。 我有一个名为 Rj Webp Converter 的插件,可以将图像转换为 webp 格式,然后我使用此功能来替换
防止 str_replace() 替换之前替换的文本[重复]
这是我的脚本 $searchArray = array("优惠券代码", "优惠券代码", "促销", "促销代码"); $replaceArray = array("促销代码", "促销代码", "优惠券", "优惠券代码"); $intoString =“百思买
我正在更新一个废弃的插件,并且遇到了这个已弃用的函数,我正在努力寻找合适的替代品。原来的函数是这样的: $回调...
我正在将旧的 PHP 函数移至 jquery。我如何将他的 PHP 函数转换为 jQuery 函数/脚本? 函数 superClean($str){ $str = strtolower($str); $str = str_replace(" ", ...
将更多旧的 php 函数移至 jquery 替代方案。我有点坚持创建一个像样的 preg_match 函数。 有没有一种简单的方法可以使字符串 url 安全并进行搜索引擎优化? php; 功能
我有一个包含二进制 1 和 0 的数据框,我想用第二个数据框中的一组数据填充 真实的数据帧有 1000 行,所以有一个快速的方法会很好。 一些
在字符串中,我想替换任何出现的: (或更多) 和: 这对于替换 2 个或更多连续发生的情况有效...
我有一个小问题。我已经建立了一个标签系统,它基本上可以工作。唯一的问题是,如果我使用特殊字符,我会收到错误消息。 如:ä、ö、ü、ß、Ì、é、è、ë 等等...... 如果我
tinyMCE 在空 p 标签之间放置什么字符。 我有以下空 p 标签: tinyMCE 在空 p 标签之间放置什么字符。 我有以下空 p 标签: <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> 我想删除它......但它们不被 str_replace 或 preg_replace 识别。我能做的最好的事情就是找到标签之间的space。换句话说,我可以删除 <p> 本身或 </p> ...但是当我尝试搜索 <p> </p> 没找到。 尝试过 或   我在网上找到了很多解决方案,但没有一个有效。似乎有问题的字符(p 标签之间的空格)不同或不知何故无法识别。我这么说是因为我尝试了以下 str_replace(" ", "", $html); 字符串中的所有其他空格都被删除...除了 p 标签之间的空格。 它可能是某种类型的非打印 unicode 字符。 \s 或者可能是\pS。 preg_replace("@<p>[\pZ\pC]*</p>@u", "", $string);
如何用新值替换多维数组中的字符串/单词?我没有它的钥匙,只知道大海捞针和针。 假设我有一个多维数组,$submenu_...
我有一个很大的 JSON 文件,我想在其中查找所有属性并将其替换为相同的字符串 JSON 目前的样子 { "example1": "一些文本1" “示例2”:“...
如何使用 str_replace 方法替换指定部分(两个子字符串之间)。 例如, string1="www.example.com?test=abc&var=55"; string2="www.example.com?test=xyz&var=55...
数组{ [0] => http://example1.com/video/ghgh23; [1] => http://example2.com/file/mwerq2; } 我想替换上面数组中 /sometext/ 之间的内容。就像我想更换
如果我有一个等于“firstpart”.$unknown_var.“secondpart”的字符串,我如何删除“firstpart”和“secondpart”之间的所有内容(在不存在
使用 URL 查询字符串中的占位符值并将其作为可点击文本,将方括号占位符替换为 HTML 超链接
我有一个很长的字符串,比如 $str =“这是[我的]测试[字符串],[字符串]很长[有]这么多密码]” 我知道 str_replace 函数,但是当我替换时 $str = str_replace(“[...
使用 URL 查询字符串中的占位符值并将其作为可点击文本,将方括号占位符替换为 HTML 超链接
我有一个很长的字符串,比如 $str =“这是[我的]测试[字符串],[字符串]很长[有]这么多密码]” 我知道 str_replace 函数,但是当我替换时 $str = str_replace(“[...
我有这个字符串: 525,294,475,215,365,745 我需要删除 475 ...及其前面的逗号。 如果我需要删除第一个数字(并且字符串中有多个数字),我需要删除...
$string = 'http://example.com/category/1/news/2134/'; // '1' 是动态的 如何将 1 更改为我想要的任何数字? 无法调用字符串的一部分,它只是一个类似文本的变量。 可以用...来完成
我尝试替换一个包含特殊字符的文件 从: [v]_CØDE:BREAKER_-_01_[gg][D00B1].mkv 到: [v]_代码:BREAKER_-_01_[gg][D00B1].mkv 但是当我尝试下面的代码时 if ($handle = op...
如何使用include()作为str_replace()的替换参数?
我的用户希望能够在他们的网站上有联系表格。可以理解。但这并没有真正发挥作用。 我的用户希望能够在他们的网站上有联系表格。可以理解。但这并没有真正发挥作用。 <?php function ubbreplace($text){ $text = str_replace("[contact-form]",'<?php include("contactform.php"); ?>',$text); return $text; } ?> 包含内容不包括联系表格。这是为什么? 您正在使用的 str_replace 函数正在按预期工作。如果您在浏览器中没有看到任何内容,请查看源代码,您将在 HTML 代码中看到一个 <?php 标记。 输出是通常进入浏览器的内容。缓冲区是数据的缓存。输出缓冲区是数据的缓存,这些数据通常会发送到您的浏览器,但由于您对其进行了缓冲而没有发送。 为了获得您想要的结果,我们需要获取 contactform.php 文件的内容并将 [contact-form] 替换为这些内容。我们可以通过将 contactform.php 的输出捕获到变量中并使用该变量作为替换来实现此目的。 <?php function ubbreplace($text){ if(strpos($text, '[contact-form]') !== false) { ob_start(); require 'contactform.php'; $replace = ob_get_contents(); ob_end_clean(); $text = str_replace('[contact-form]', $replace, $text); } return $text; } $content = ubbreplace('Hello world! [contact-form]'); echo $content; ?> 您完全从错误的一端接近这个概念,您正在做的是使用字符串,并且这些字符串不会被 PHP 作为函数处理,或者包含或其他核心标记。 您可以将变量插入到字符串中,但这发生在执行时,并且该字符串将不会被重新执行(并且还忽略了包含根本不是变量而是一个语言构造的事实)。 那么,对此你能做什么呢?好吧 - 用以下逻辑重新排列您的代码: 您有一个想要查找的字符串,找到后即可采取行动。 因此,要执行此操作,请尝试此代码逻辑(显然是自定义的)。你想找到你设置的“标志”,然后用正确的标记替换它, <?php if( stripos($text,"[contact-form]") !== false){ include("contactform.php"); } ?> 上面的内容可能不会完全按照您的预期进行,因为它的行为在很大程度上取决于所包含的 PHP 文件内的内容。 您可能需要重新排列包含的内容(如果确实需要,您可以return包含中的数据,但我真的不建议这样做)。 作为一个小改进,我还建议使用 mb_stripos() 函数而不是标准 stripos();。 因此,为了获得更清晰、更可用的结果,请将包含的内容设置为变量,例如$contactForm = "HTML contact form data";,然后始终运行包含,但仅在找到标志时输出内容: 包括包含: $contactForm = "Some HTML contact data"; 父文件包含: <?php include("contactform.php"); if( stripos($text,"[contact-form]") !== false){ print $contactForm; } ?> 或者您可能更容易实现的是: <?php include("contactform.php"); function ubbreplace($text){ $text = str_replace("[contact-form]",$contactForm,$text); return $text; } ?> 包含在 PHP 手册中,请注意对返回值的引用 使用输出缓冲的Splash58's Answer(和Brogans Answer)也是一个完美的解决方案 很好的解决方案,并且节省了大量将包含的输出量化到的工作 我的答案中存在变量,尽管我的答案主要是为了解释 目的和你原来问题的失败。 如果有一个完全开放的选项,我会选择使用输出缓冲 要解决这个问题,但您确实需要知道发生了什么,所以如果 输出缓冲对您来说是新的一定要先阅读它。 function ubbreplace($text){ if (strpos($text, "[contact-form]") !== false) { ob_start(); include("contactform.php"); $replace = ob_get_contents(); ob_end_clean(); $text = str_replace("[contact-form]", $replace, $text); } return $text; }