![](/img/trans.png)
[英]Replace hyphen between two letters, but not bewteen two numbers (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实体仅>
那么你可以使用下面的代码
$str = "Category A > Subcategory A;Category A > Subcategory B;Category B > Subcategory C";
$str = preg_replace("/(?<!\>);/", "/", $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.