替换 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
您可以尝试 str_replace - [http://php.net/manual/en/function.str-replace.php],例如:
$a = str_replace(";Cat", "/Cat", $a);
要仅替换字母之间的分号,您可以使用正则表达式先行和后行。
$str = "Category A > Subcategory A;Category A > Subcategory B;Category B > Subcategory C";
$str = preg_replace("/(?<!\s);(?!\s)/", "/", $str);
echo $str;
或者如果您的 html 实体只是 >
那么您可以使用下面的代码
$str = "Category A > Subcategory A;Category A > Subcategory B;Category B > Subcategory C";
$str = preg_replace("/(?<!\>);/", "/", $str);
echo $str;
我遇到以下问题,我需要用斜杠替换字符串中仅出现在字母之间的所有分号。问题是我还有 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
您可以尝试 str_replace - [http://php.net/manual/en/function.str-replace.php],例如:
$a = str_replace(";Cat", "/Cat", $a);
要仅替换字母之间的分号,您可以使用正则表达式先行和后行。
$str = "Category A > Subcategory A;Category A > Subcategory B;Category B > Subcategory C";
$str = preg_replace("/(?<!\s);(?!\s)/", "/", $str);
echo $str;
或者如果您的 html 实体只是 >
那么您可以使用下面的代码
$str = "Category A > Subcategory A;Category A > Subcategory B;Category B > Subcategory C";
$str = preg_replace("/(?<!\>);/", "/", $str);
echo $str;