3v4l.org

run code in 500+ PHP versions simultaneously
<?php function preserveAmpersandEscapeInOptionTagForFomanticUiDropdownWithPreserveHtmlFalse($v) { return str_replace('&amp;', '&amp;amp;', $v); } $in = 'A & B &amp;'; // example of text to preserve $in .= ' ' . preserveAmpersandEscapeInOptionTagForFomanticUiDropdownWithPreserveHtmlFalse($in); // example of escaping the text to preserve it 1:1 echo $in . "\n"; $str = preg_replace('~&(?!\w+;)~', '&amp;', $in); // done by browser when parsing/normalizing HTML echo $str . "\n"; $str = str_replace('&amp;', '&', $in); // done by https://github.com/fomantic/Fomantic-UI/pull/3224/commits/0bc8f67dcb echo $str . "\n";
Output for 8.1.34, 8.2.0 - 8.2.32, 8.3.0 - 8.3.33, 8.4.1 - 8.4.24, 8.5.0 - 8.5.9
A & B &amp; A & B &amp;amp; A &amp; B &amp; A &amp; B &amp;amp; A & B & A & B &amp;

preferences:
69.85 ms | 891 KiB | 4 Q