替换所有&与& 只有不跟着放大器;

Ale*_*x K 1 php regex entities preg-replace

好吧,我在regexp中并不那么聪明,这就是我想做的事情

基本上,我有一个字符串与一些已经编码的实体,但我需要再次编码所有实体除了&实体,所以如果我们有一个字符串

The Sun & Mars are planets
Run Code Online (Sandbox Code Playgroud)

这将保持不变,因为我们不需要编码&&再次

但是,如果我们有

The Sun — big hot planet
Run Code Online (Sandbox Code Playgroud)

这应该成为

The Sun — big hot planet
Run Code Online (Sandbox Code Playgroud)

我知道这很愚蠢,但这就是一个解析器想要的东西.

Pla*_*ure 15

只做两次换人:

  1. 替换&&
  2. 替换&&


pio*_*trm 8

你可以使用负向前瞻来匹配"&"而不是"amp;".

$str = preg_replace( "/&(?!amp;)/", "&",  $str  );
Run Code Online (Sandbox Code Playgroud)