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

时间:2016-10-11 14:17:06

标签: php string str-replace

我有以下问题,我需要替换字符串中的所有分号,这些分号只出现在带斜杠的字母之间。问题是我还有带分号的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

2 个答案:

答案 0 :(得分:1)

要在字母之间替换分号,可以使用正则表达式前瞻和后瞻。

$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;

答案 1 :(得分:0)

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

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