繁体   English   中英

在PHP中的字母之间替换分号

[英]Replace semicolon between letters in PHP

我有以下问题,我需要替换仅在带有斜线的字母之间出现的字符串中的所有分号。 问题是我也有带有分号的html实体,而str_replace将它们弄乱了。

示例字符串:

Category A > Subcategory A;Category A > Subcategory B;Category B > Subcategory C

所需的输出:

Category A > Subcategory A/Category A > Subcategory B/Category B > Subcategory C

要仅在字母之间替换分号,可以使用正则表达式lookahead和lookbehind。

$str = "Category A > Subcategory A;Category A > Subcategory B;Category B > Subcategory C";
$str = preg_replace("/(?<!\s);(?!\s)/", "/", $str);
echo $str;

或者您的html实体仅&gt; 那么你可以使用下面的代码

$str = "Category A &gt; Subcategory A;Category A &gt; Subcategory B;Category B &gt; Subcategory C";
$str = preg_replace("/(?<!\&gt);/", "/", $str);
echo $str;

您可以尝试str_replace-[ http://php.net/manual/en/function.str-replace.php] ,例如:

$a = str_replace(";Cat", "/Cat", $a);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM