簡體   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